적재

데이터 엔지니어링 입문

Vincent Vankrunkelsven

Data Engineer @ DataCamp

분석용 vs 애플리케이션용 데이터베이스

분석

분석 아이콘

  • 집계 쿼리
  • OLAP(온라인 분석 처리)

애플리케이션

애플리케이션 아이콘

  • 트랜잭션 많음
  • OLTP(온라인 트랜잭션 처리)
데이터 엔지니어링 입문

컬럼 지향 vs 로우 지향

분석

  • 컬럼 지향

컬럼 지향 저장 예시

  • 일부 컬럼 대상 쿼리
  • 병렬 처리

애플리케이션

  • 로우 지향

로우 지향 저장 예시

  • 레코드 단위 저장
  • 트랜잭션마다 추가
  • 예: 고객 추가가 빠름
데이터 엔지니어링 입문

MPP 데이터베이스

대규모 병렬 처리(MPP) 데이터베이스

MPP 데이터베이스 다이어그램

 

  • Amazon Redshift
  • Azure SQL Data Warehouse
  • Google BigQuery
데이터 엔지니어링 입문

예시: Redshift

파일에서 컬럼형 저장 형식으로 로드

# Pandas .to_parquet() method
df.to_parquet("./s3://path/to/bucket/customer.parquet")
# PySpark .write.parquet() method
df.write.parquet("./s3://path/to/bucket/customer.parquet")
COPY customer
FROM 's3://path/to/bucket/customer.parquet'
FORMAT as parquet
...
데이터 엔지니어링 입문

PostgreSQL로 적재

pandas.to_sql()

# 데이터 변환
recommendations = transform_find_recommendatins(ratings_df)

# PostgreSQL에 적재
recommendations.to_sql("recommendations",
                       db_engine,
                       schema="store",
                       if_exists="replace")
데이터 엔지니어링 입문

Vamos praticar!

데이터 엔지니어링 입문

Preparing Video For Download...