SQL を使用したクイックスタート

このページでは、Dataflow SQL の gcloud コマンドライン ツールを使用して Dataflow ジョブを作成する方法について説明します。Dataflow ジョブは、Dataflow SQL クエリの結果を BigQuery データセットのテーブルに書き込みます。

始める前に

  1. Google アカウントにログインします。

    Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。

  2. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    [プロジェクトの選択] ページに移動

  3. Cloud プロジェクトに対して課金が有効になっていることを確認します。プロジェクトに対して課金が有効になっていることを確認する方法を学習する

  4. Dataflow, Compute Engine, Logging, Cloud Storage, Cloud Storage JSON, BigQuery, Pub/Sub, Resource Manager, and Data Catalog API を有効にします。

    API を有効にする

  5. Cloud SDK をインストールし、初期化します

BigQuery データセットを作成する

taxirides という名前の BigQuery データセットを作成します。

bq mk taxirides

Pub/Sub トピックのクエリを行う

一般公開の Pub/Sub トピック taxirides-realtime に乗客数を 10 秒ごとにクエリします。

gcloud beta dataflow sql query \
  --job-name=dataflow-sql-quickstart \
  --region=us-central1 \
  --bigquery-dataset=taxirides \
  --bigquery-table=passengers_per_minute \
'SELECT
  TUMBLE_START("INTERVAL 10 SECOND") as period_start,
  SUM(passenger_count) AS pickup_count,
FROM pubsub.topic.`pubsub-public-data`.`taxirides-realtime`
WHERE
  ride_status = "pickup"
GROUP BY
  TUMBLE(event_timestamp, "INTERVAL 10 SECOND")'

クエリ結果を表示する

  1. Dataflow ジョブが実行されていることを確認します。

    1. Dataflow モニタリング インターフェースに移動します。

      Dataflow モニタリング インターフェースに移動

    2. ジョブのリストで、[dataflow-sql-quickstart]をクリックします。

    3. [ジョブ情報] パネルで、[ジョブのステータス] 項目が [実行中] に設定されていることを確認します。

      ジョブの開始には数分かかることがあります。ジョブが開始されるまで、[ジョブ ステータス] は [キューに格納済み] に設定されています。

    4. [ジョブグラフ] タブで、各ステップが少なくとも 1 秒実行されていることを確認します。

      2 つの複合ステップを含む Dataflow ジョブグラフ。最初のステップは 6 分 45 秒間、2 つ目のステップは 1 秒間実行されます。

      ジョブの開始後、ステップの実行が開始されるまでに数分かかることがあります。

  2. passengers_per_minuteテーブルから最も混雑した時間帯を返します。

    bq query \
    'SELECT *
    FROM taxirides.passengers_per_minute
    ORDER BY pickup_count DESC
    LIMIT 5'
    

クリーンアップ

このクイックスタートで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の手順を行います。

  1. taxiridesデータセットを削除します。

    1. bq rm コマンドを実行します。

      bq rm taxirides
      
    2. 確定するには「y」と入力します。

  2. Dataflow ジョブをキャンセルします。

    1. Dataflow モニタリング インターフェースに移動します。

      Dataflow モニタリング インターフェースに移動

    2. ジョブのリストで、[dataflow-sql-quickstart]をクリックします。

    3. [停止] > [キャンセル] > [ジョブの停止] をクリックします。

次のステップ