Edited at

Embulkについて

image.png

データ分析基盤入門を読んだまとめ。

個人的に必要そうな部分についてのみ。

Embulkについて。


総論

利用方法やどこに特化しているかを理解する


Embulkとは

バッチ型の並列・分散バルクデータローダー

簡単にいうと大量データを効率良く転送するためのツール

並列処理を有しているだけで並列定義できるわけではない(それはdigdag)


登場背景

準リアルタイム収集化によるユースケースの増加


  • 影響


    • 抽出バッチ設定ファイル煩雑化による属人化・保守性の低下

    • 定期的な大量読込




読出対象例


  • CSVファイル

  • S3

  • MySQL

  • PostgreSQL


できること


  • 抽出・加工・出力処理を設定ファイルで組み合わせること

  • 組み合わせによる直列・並列度、流量、タイミングの調整(パイプライン処理)

  • 処理単位制御

  • 再継続処理

  • エラー・リトライ制御


特徴


  • プラグイン拡張

  • スキーマを用いたデータバリデーション


使い所


  • 一時的な処理負荷がかかるケース例


    • 日次パーティショニングされたスキーマへの日またぎ出力時

    • ログ増加と集計処理の同時間帯発生時

    • メモリ容量逼迫によるインデックス更新遅延時




書籍情報

鈴木 健太, 吉田 健太郎, 大谷 純, 道井 俊介, データ分析基盤構築入門

https://amzn.to/2B6f8G5


雑感

文脈の中でややこしい表現がある

読込・読出・書込・書出

ETLのE(抽出)に対して読出・読込

T(変換)には実質加工も含まれるので変換・加工と表記

L(読込)は出力対象に対して「読込ませる」という意味でのL

Lの対象に書出・書込

と解釈

ただ読込は対象や活用形によって対象がどちらにもなるのでこの辺りは表記揺らさない方が良さそう