2018年7月10日1件のコメントこんにちは。GMOアドマーケティングのN.Sです。Dataflow(以下Dataflow)を使っています。読み込むファイルが2つあった場合、それらをインプットする方法が分かるまで結構苦戦したため、備忘録的に記載します。2.4.0ドキュメントDataflowバージョン2.X以上はApacheBeamを基にしているため、そちらのドキュメントを読む。Inputsの項目を読むと、副入力をPCollectionViewに変換し、withSideInputsメソッドを使って同一パイプラインにマージするようです。処理の流れ今回はサンプルとして、生徒のテスト結果から、合格者のみ出力するプログラムを作ります。Strage(以下GCS)にテスト結果ファイルを置く。2CloudFunctionsが1をトリガーにして起動。Dataflowを呼び出す。3Dataflowにてファイル読み込み・フィルター処理・書き込みを行う。FunctionsここではGCSに置かれたファイル名を取得し、Dataflowにパラメータとして渡して実行している。両ファイルをマージした結果をGCSに出力する(output.csv)。Pipelineを実行pipeline.run().waitUntilFinish();}}ジョブ詳細Dataflowジョブの詳細を見ると、2つのリソースを読み込んでで実行していることが分かります。結果ファイルを見ると、期待通り合格ライン(40点)より高い生徒だけ出力されています。Bob,5012Alisa,100Bob,50まとめ以上、かなりシンプルな例ではありますが、副入力を使用したパイプライン作成方法でした。実際にビッグデータを使う際などは、PCollection<String>をPCollection<TableRow>に置き換えたりする必要があると思いますが、基本的な作りはそんなに変わらないはずです。Dataflowはまだ情報が少ない(Version2.0以降は特に)状況ため、見てくださった方にわずかでも役立てれば幸いです。(2019年版)コメントは停止中です。@gmoap_engineer本ブログで発信される情報は、各エンジニア個人の見解であり、弊社の公式見解ではありません。本ブログに掲載、引用等をしている商品またはサービス等の名称は、各社の商標または登録商標です。その他の事項について一切責任を負いかねます。発表する情報には注意を払っておりますが、公式発表、見解については、弊社WEBサイトおよびプレスリリースなどをご確認ください。GMOインターネットグループにおけるソーシャルメディア運用ポリシーについては次のページをご確認ください。本ブログに掲載のあるソフトウェアのダウンロードは自己責任で御願い致します。ソフトウェアのダウンロードの結果、ご利用者に何らかの損失・損害が生じたといえども、当社ではその責任を負いかねます。本ブログに掲載のあるソフトウェアを扱う際は、各ソフトウェアの公式リファレンスを参照のもとご使用下さい。ソフトウェアの実行の結果、ご利用者に何らかの損失・損害が生じたといえども、当社ではその責任を負いかねます。