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

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

始める前に

  1. Google Cloud アカウントにログインします。Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
  2. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

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

  4. Dataflow、Compute Engine、Logging、Cloud Storage、Cloud Storage JSON、BigQuery、Pub/Sub、Resource Manager、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. [停止] > [キャンセル] > [ジョブの停止] をクリックします。

次のステップ