データ分析基盤入門を読んだまとめ。
個人的に必要そうな部分についてのみ。
Digdagについて。
目的
利用方法やどこに特化しているかを理解する
Digdagとは
ワークフロー管理ツール
ETL処理を自動化するためのツール
特徴
- 固定的なロジックだけでなく動作を制御でき(プログラマブル)、それをYAML形式の設定ファイルだけで実現できること
- シェルスクリプトで行われるようなバッチ処理のフロー制御ができること
- ゆえにメンテナンス性が高いコードになること
機能
基本機能
- タスクの依存関係順実行
- 過去分一括実行(バックフィル)
- 定期実行
- 時刻などを変数として含めての実行
- ファイルの作成をトリガーに実行
エラー処理
- アラート通知
- リジューム処理
状態監視
- 実行時間が閾値超えの通知
- タスク実行時間の可視化
- 実行ログ収集と保存
高速化
- タスクの並列実行
- 同時実行数制限
開発支援
- ワークフローのバージョン管理
- GUIによるワークフロー管理
- 定期処理を簡易実行できるライブラリ
- Dockerイメージを使用したタスクの実行
DigdagとEmbulkでできること
自在にジョブの順番コントロールや並列実行呼び出しと、元データを1つ以上の任意の数に水平分割して並列化させることでCPU性能の効率的活用を実現できる
Digdagの設定ファイルからsecretファイル経由で機密情報を読み取り、Embulkの設定ファイルには環境変数として渡し、データの読み出し先や書き出し先と接続するといった使い方などをする
書籍情報
鈴木 健太, 吉田 健太郎, 大谷 純, 道井 俊介, データ分析基盤構築入門
https://amzn.to/2B6f8G5
雑感
どの立ち位置でどの範囲までを担っているツールなのかを把握する