ロード

データエンジニアリング入門

Vincent Vankrunkelsven

Data Engineer @ DataCamp

アナリティクスかアプリのデータベース

アナリティクス

アナリティクスを表すアイコン

  • 集計クエリ
  • OLAP(オンライン分析処理)

アプリケーション

アプリケーションを表すアイコン

  • 取引が多い
  • OLTP(オンライン・トランザクション処理)
データエンジニアリング入門

列指向と行指向

アナリティクス

  • 列指向

列指向ストレージの例

  • 一部の列へのクエリ
  • 並列化

アプリケーション

  • 行指向

行指向ストレージの例

  • レコード単位で保存
  • 取引ごとに追加
  • 例: 顧客追加が高速
データエンジニアリング入門

MPP データベース

大規模並列処理(MPP)データベース

MPP データベースの図

 

  • Amazon Redshift
  • Azure SQL Data Warehouse
  • Google BigQuery
データエンジニアリング入門

例: Redshift

ファイルから列指向形式へ読み込み

# Pandas の .to_parquet() メソッド
df.to_parquet("./s3://path/to/bucket/customer.parquet")
# PySpark の .write.parquet() メソッド
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")
データエンジニアリング入門

Passons à la pratique !

データエンジニアリング入門

Preparing Video For Download...