開発の概要です。
開発の中で重要になる単語の説明が主になります。
目次
前提
対象ドキュメント
Beamの利用方法について
Beamを利用するには、BeamSDKを利用し、ドライバープログラムを作成します。
ドライバープログラムは以下を定義することとのことです。
- 入力
- 変換
- 出力
- 実行オプション
BeamSDKについて
BeamSDKは大規模分散データ処理を簡単に実現するため、様々な機能が提供されています。
BeamSDKを効率的に使うために以下のオブジェクトに関して概要を掴むと良いでしょう。
Pipeline
:Pipeline
は、データ処理タスク全体を最初から最後までカプセル化するオブジェクトです。入力・変換・出力が可能で、これがドライバプログラムと呼ばれるものです。PCollection
:パイプラインが動作する分散データセットです。パイプラインプログラム内でインメモリからも外部リソースからも生成が可能です。PTransform
:パイプラインのデータ処理操作またはステップのことです。PCollectionを入力し、PCollectionを出力します。- I / O変換:さまざまな外部ストレージシステムとの間でデータを読み書きするライブラリである「IO」が多数用意されています。
Beamドライバプログラムの例
Pipeline
オブジェクトを作成し、Runnerなどのパイプライン実行オプションを設定します。PCollection
外部リソース/インメモリより入力データを用意します。PTransforms
入力データに変換を実施します。変更、フィルタリング、グループ化、分析、など処理可能です。変換が行われてももとのPCollectionは変わりません出力が新たに生成されます。シンプルなパイプラインでは、変換の入力を次の変換に繋げるように設計されますが、制約があるわけではなく、複雑に入り組んだパイプラインを構築することも可能です。。- IOを使用して、処理結果を書き込みます。
- パイプラインを実行します。
Pipelineを実行すると、PipelineRunnerはワークフローグラフを作成します。(Dataflowとかで検索すると画像が出ると思います)
グラフ上でジョブの実行を確認可能です。
Please follow and like us: