ビッグデータを支える技術

かかった時間

  • 0.5 時間

読む前の状態

  • 業務でワークフローエンジンを扱ったことがある

  • 基本的な構成要素(DAG、タスク、依存関係解決)などは知っているつもり

この本を読んで達成したいことはなにか

  • ワークフローエンジンの実装に役に立てたい

  • ワークフローエンジンの種類、役割を整理すること

読む前後の変化

  • 読書メモ

第5章:ビッグデータのパイプライン

5.1 ワークフロー管理

  • ワークフロー管理

    • タスクは決まったスケジュールに従って自動的に実行され、何か以上が発生した場合には人が介在して問題を解決する

  • 主な役割

    • 定期的にタスクを実行すること

    • 異常を検知して、その解決を手助けすること

  • 用語

    • ワークフロー管理ツールによって実行される個々の処理のことを タスク という

    • ワークフロー管理ツールによって実行される一連のタスクを フロー とよぶ(ことにしている)

  • 種類(宣言型とスクリプト型)

    • 宣言型

      • XMLやYAMLなどの書式でワークフローを記述

      • 宣言型で定義されている範囲内であれば最小限の記述でタスクを定義できる

      • 拡張性に乏しい

    • スクリプト型

      • 柔軟性

      • スクリプトと同じように変数や制御構文を使える

  • ワークフロー管理のデザイン

    • エラーからリカバリ方法を先に考える

      • リカバリとフローの再実行

        • エラーからどのように回復するか

        • すべてのエラーから自動回復することはできない。手作業による回復を前提とする

        • 同じInputのパラメータからは同じOutputが生成されること

        • タスクを小さく保ち、小さな複数のタスクからフローを構成するようにする

      • リトライ

        • 安易なりトライは想定外の問題を隠してしまうので慎重に検討する

      • バックフィル

        • フロー全体を最初からやりなおすこと

    • 冪等な操作としてタスクやフローを記述する

  • タスクキュー

    • 外部システムの負荷コントロール

5.2 バッチ型のデータフロー

5.3 ストリーミング型のデータフロー

Last updated

Was this helpful?