GCP Dataflow 試してみた

GCP

はじめに

試験対策にDataflowがどのようなサービスなのかを試してみる。

Dataflowとは

Dataflowはバッチ、ストリーミングのデータ処理パイプラインサービス。

Apache BeamというOSSを使うことで、パイプライン処理をプログラムすることができる。
Dataflow はApache Beamで記載されたプログラムを実行するための基盤を提供する。

基盤自体はGCEを使ってデプロイされる。

下準備

Dataflowを利用するにはAPIの有効化と認証の準備が必要になる。

Python を使用したクイックスタート  |  Cloud Dataflow  |  Google Cloud

サービスアカウントのJSONファイルはPythonでAPIを使ってDataflowにアクセスする際に使う。
Cloud ConsoleでWebGUI経由で実施する際にはいらない(はず)

ジョブの実行

パイプラインプログラムの準備

パイプライン処理をプログラミングするには非常にハードルが高いのでありものを使う。
Dataflowにはジョブテンプレートが存在するので、わかりやすそうなのを試してみる。

Pub/Sub to PubSub テンプレート
Streaming pipeline. Reads from a Pub/Sub subscription and writes to a Pub/Sub topic.
Pub/Subのメッセージを読み込み、Pub/Subへ吐き出すだけのジョブ

入出力のバケツ作り

まずはPub/Subのトピック、サブスクリプションを2つほど作成する。

projects/sylvan-airship-306401/topics/testin
projects/sylvan-airship-306401/topics/testout

projects/sylvan-airship-306401/subscriptions/testin-sub
projects/sylvan-airship-306401/subscriptions/testout-sub

一時ファイル置き場の準備

Cloud Storageに処理の際に使う一時ファイル置き場を準備する。

ジョブの作成

動作確認

コメント

タイトルとURLをコピーしました