(관계형) 데이터 베이스(RDBMS)
: 데이터를 테이블 형식으로 저장하는 DB
RDBMS에서 데이터를 효과적으로 분석 및 관리, 조작하기 위해 사용하는 언어
SQL
로 할 수 있는 건?➡️ Create(생성), Alter(변경), Drop(객체 삭제), Truncate(테이블의 모든 데이터 삭제, 구조 유지)
➡️ Select(조회), Insert(삽입), Update(수정), Delete(데이터 삭제)
➡️ Commit(트랜잭션 저장), Rollback(트랜잭션 취소), Savepoint(트랜잭션 중간 저장)
타 언어에 비해 편리하게 수치 해석 가능
고성능 수치 계산, 통계를 위한 라이브러리
배열 및 행렬 연산에 강점
수치 데이터 처리, 수학적 계산
데이터 조작 및 분석, 시각화를 위한 라이브러리
Numpy보다 더 복잡한 형태의 자료(Series, DataFrame
)를 다룸
데이터 선택, 필터링, 그룹화, 시각화 등
데이터 시각화를 위한 그래픽 패키지
데이터를 차트나 그래프로 시각화
라인 플롯, 바 차트, 히스토그램
복잡한 데이터를 이해하기 쉽고 다양한 시각적 기법들을 사용하기 쉬운 드래그 앤 드롭 인터페이스의 대시보드로 제공, 막대 차트, 라인 차트, 히트맵, 트리맵 등 다양한 시각화 기법을 활용하여 데이터를 표현한다.
기업에서 요구하는 역량
MicroSofte에서 제공하는 비즈니스 데이터 시각화 도구로 마이크로소프트 생태계에 최적화 되어 있어 Azure, SQL Server, Excel등의 데이터 소스들과 쉽게 통합 될 수 있다. Power Query를 통해 사용자가 데이터를 쉽게 변환하고 준비 할 수 있는 도구를 제공. Office 365와 통합해 조직 내에서 협업을 용이하게 한다.
Airflow는 Apache Software Foundation에서 개발한 오픈 소스 워크플로우 관리 플랫폼으로, 복잡한 데이터 파이프라인을 자동화 하고 관리
하는데 유용한 도구.
ETL 작업
: 데이터 추출(Extract), 변환(Transform), 로드(Load) 작업을 자동화하여, 주기적으로 데이터 웨어하우스나 데이터 레이크에 데이터를 적재할 수 있다.from airflow import DAG
from airflow.operators.python_operator import PythonOperator
from datetime import datetime, timedelta
# 기본 DAG 설정
default_args = {
'owner': 'airflow',
'depends_on_past': False,
'start_date': datetime(2023, 1, 1),
'retries': 1,
'retry_delay': timedelta(minutes=5),
}
dag = DAG(
'example_data_pipeline',
default_args=default_args,
description='A simple data pipeline example',
schedule_interval=timedelta(days=1),
)
하둡의 등장 이후로 빅데이터의 분석이 유용해 졌다고 할 정도로, 간단한 프로그래밍 모델을 사용하여 대용량
의 데이터를 적은 비용
으로 매우 안정적으로 분산 처리하여 분석할 수 있는 오픈 소스 플랫폼. 수 백에서 수천 대의 서버로 확장
할 수 있어 데이터의 증가량에 따라 유연하게 확장 할 수 있다. 데이터 수집 및 저장, 데이터 전처리, 데이터 분석 및 모델링 역할을 하며 데이터 분석에서 활용된다.
빠르고 범용적인 데이터 처리 엔진. Hadoop보다 빠른 성능
을 제공하며, 실시간 데이터 처리
가능. 메모리 내에서 데이터를 처리함으로써 빠른 데이터 처리
가 가능하다.
from pyspark.sql import SparkSession
# Spark 세션 생성
spark = SparkSession.builder.appName("DataAnalysis").getOrCreate()
# 데이터프레임 생성
data = [("John", 28), ("Anna", 24), ("Peter", 35)]
columns = ["Name", "Age"]
df = spark.createDataFrame(data, columns)
# 데이터프레임 조회
df.show()
# 데이터 필터링
df.filter(df.Age > 30).show()
# 데이터 그룹화 및 집계
df.groupBy("Name").avg("Age").show()
# Spark 세션 종료
spark.stop()
분산 SQL 쿼리 엔진으로, 빠른
쿼리 성능을 제공하여 다양한
데이터 소스에서 실시간
분석을 수행할 수 있음.