Google 提供のテンプレートを使ってみる

Google はオープンソースの Cloud Dataflow テンプレートを提供しています。テンプレートに関する一般的な情報については、概要ページをご覧ください。初めて使用する方は、後述の WordCount テンプレートを使用してください。他の Google 提供のテンプレートをご覧ください。

ストリーミング テンプレート - データを継続的に処理するためのテンプレート

バッチ テンプレート - データを一括で処理するためのテンプレート

ユーティリティ テンプレート:

WordCount

WordCount テンプレートは、Cloud Storage からテキストを読み取り、テキスト行を個別の単語にトークン化して各単語の出現頻度をカウントするバッチ パイプラインです。WordCount の詳細については、サンプルの WordCount パイプラインをご覧ください。

テンプレートのパラメータ

パラメータ 説明
inputFile Cloud Storage 入力ファイルのパス。
output Cloud Storage 出力ファイルのパスと接頭辞。

WordCount テンプレートの実行

Console

Google Cloud Platform Console からの実行
  1. GCP Console の Cloud Dataflow ページに移動します。
  2. Cloud Dataflow ページに移動
  3. [テンプレートからジョブを作成] をクリックします。
  4. Cloud Platform Console の [テンプレートからジョブを作成] ボタン
  5. Cloud Dataflow テンプレート プルダウン メニューから WordCount テンプレート を選択します。
  6. [ジョブ名] フィールドにジョブ名を入力します。 ジョブ名は正規表現 [a-z]([-a-z0-9]{0,38}[a-z0-9])? と一致する必要があります。
  7. 表示されるパラメータ フィールドにパラメータ値を入力します。
  8. [ジョブを実行] をクリックします。

gcloud

gcloudコマンドライン ツールからの実行

注: テンプレートを実行する gcloud コマンドライン ツールを使用するには、Cloud SDK のバージョン 138.0.0 以降が必要です。

このテンプレートを実行する場合、テンプレートへの Cloud Storage パスが必要です。

gs://dataflow-templates/latest/Word_Count

このサンプルの次の値は置き換える必要があります。

  • JOB_NAME を選択したジョブ名に置き換えます。ジョブ名は正規表現 [a-z]([-a-z0-9]{0,38}[a-z0-9])? と一致する必要があります。
  • YOUR_BUCKET_NAME の部分は、Cloud Storage バケットの名前に置き換えてください。
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Word_Count \
    --parameters \
inputFile=gs://dataflow-samples/shakespeare/kinglear.txt,\
output=gs://YOUR_BUCKET_NAME/output/my_output

API

REST API からの実行

このテンプレートを実行する場合、テンプレートへの Cloud Storage パスが必要です。

gs://dataflow-templates/latest/Word_Count

REST API リクエストでこのテンプレートを実行するには、プロジェクト ID を指定して HTTP POST リクエストを送信します。このリクエストには承認が必要です。

このサンプルの次の値は置き換える必要があります。

  • YOUR-PROJECT-ID をプロジェクト ID に置き換えます。
  • JOB_NAME を選択したジョブ名に置き換えます。ジョブ名は正規表現 [a-z]([-a-z0-9]{0,38}[a-z0-9])? と一致する必要があります。
  • YOUR_BUCKET_NAME の部分は、Cloud Storage バケットの名前に置き換えてください。
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Word_Count
{
    "jobName": "JOB_NAME",
    "parameters": {
       "inputFile" : "gs://dataflow-samples/shakespeare/kinglear.txt",
       "output": "gs://YOUR_BUCKET_NAME/output/my_output"
    },
    "environment": { "zone": "us-central1-f" }
}