ワークロードのスケジュールを設定する

通常、BigQuery タスクはより大きなワークロードの一部であり、外部タスクによってトリガーされてから、BigQuery オペレーションによってトリガーされます。ワークロードのスケジュール設定は、データ管理者、アナリスト、デベロッパーがこの一連のアクションを整理して最適化し、データリソースとプロセス間でシームレスな接続を作成するうえで役立ちます。スケジュール設定方法とツールは、これらの複雑なデータ ワークロードの設計、構築、実装、モニタリングに役立ちます。

スケジュール設定方法を選択する

スケジュール設定方法を選択するには、ワークロードがイベント ドリブンか、時間ドリブンか、またはその両方かを特定する必要があります。イベントは、データベース内のデータの変更やストレージ システムへのファイルの追加などの状態変化として定義されます。イベント ドリブンのスケジュール設定では、ウェブサイトへのアクションがデータ アクティビティのトリガーとなることがあります。また、特定のバケットにランディングしたオブジェクトは、到着後すぐに処理する必要があります。時間ドリブンのスケジュール設定では、1 日に 1 回、あるいは 1 時間ごとのレポートを作成できるだけの十分な頻度で、新しいデータの読み込みが必要になることがあります。イベント ドリブンのスケジュール設定と時間ドリブンのオーケストレーションは、オブジェクトをリアルタイムでデータレイクに読み込む必要がある場合に使用できますが、データレイクのアクティビティ レポートが生成されるのは 1 日ごとです。

スケジュール設定ツールを選択する

スケジュール設定ツールは、複数の Google Cloud サービスやサードパーティのサービスと BigQuery ジョブとの組み合わせや、複数の BigQuery ジョブの並列実行など、複雑なデータ ワークロードの管理に関連するタスクを支援します。各ワークロードには、正しいデータを使用して正しい順序でタスクが実行されるようにするための、依存関係とパラメータ管理に関する固有の要件があります。 Google Cloud には、スケジュール設定方法とワークロードの要件に基づくいくつかのスケジュール設定オプションが用意されています。

ほとんどの場合、Dataform、Workflows、Cloud Composer、または Vertex AI Pipelines を使用することをおすすめします。比較については、次のチャートをご覧ください。

Dataform Workflows Cloud Composer Vertex AI Pipelines
焦点 Data transformation マイクロサービス ETL または ELT ML
複雑さ * ** *** **
ユーザー プロファイル データ アナリストまたは管理者 データ アーキテクト データ エンジニア データ アナリスト
コードタイプ JavaScript、SQL、Python ノートブック YAML または JSON Python Python
サーバーレスか はい フルマネージド はい
次の状況には適していない 外部サービスのチェーン データの変換と処理 低レイテンシまたはイベント ドリブンのパイプライン インフラストラクチャのタスク

以降のセクションでは、これらのスケジュール設定ツールとその他のツールについて詳しく説明します。

スケジュールされたクエリ

最も簡単なワークロードのスケジュール設定の方法は、BigQuery で直接、繰り返し実行するクエリのスケジュールを設定することです。これは最も簡単なスケジュール設定の手法ですが、外部依存関係のない単純なクエリチェーンの場合に限定することをおすすめします。この方法でスケジュールするクエリは、GoogleSQL で記述する必要があり、データ定義言語(DDL)と、データ操作言語(DML)ステートメントを含めることができます。

スケジュール設定方法: 時間ドリブン

Dataform

Dataform は、BigQuery で複雑なデータ変換タスクをスケジュール設定する、無料の SQL ベースの独自の変換フレームワークです。元データを BigQuery に読み込むと、Dataform を使用してデータセットとテーブルの整理、テスト、バージョン管理されたコレクションを作成できます。Dataform を使用して、データ準備ノートブックBigQuery パイプラインの実行をスケジュール設定します。

スケジュール設定方法: イベント ドリブン

Workflows

Workflows は、非常に低いレイテンシで HTTP ベースのサービスをスケジュール設定するサーバーレス ツールです。これは、マイクロサービスのチェーン化、インフラストラクチャ タスクの自動化、外部システムとの統合、 Google Cloudでの一連のオペレーションの作成に最適です。BigQuery で Workflows を使用する方法については、複数の BigQuery ジョブの並列実行をご覧ください。

スケジュール設定方法: イベント ドリブンおよび時間ドリブン

Cloud Composer

Cloud Composer は、Apache Airflow 上に構築されたフルマネージド ツールです。抽出 / 変換 / 読み込み(ETL)ワークロードまたは抽出 / 読み込み / 変換(ELT)ワークロードに適しています。これは、複数の演算子タイプやパターン、他の Google Cloudプロダクトと外部ターゲット間のタスク実行をサポートしています。BigQuery で Cloud Composer を使用する方法については、 Google Cloud でデータ分析 DAG を実行するをご覧ください。

スケジュール設定方法: 時間ドリブン

Vertex AI Pipelines

Vertex AI Pipelines は、ML ワークロードのスケジュール設定用に設計された、Kubeflow Pipelines をベースとするサーバーレス ツールです。トレーニング データからコードまで、モデルの開発とデプロイのすべてのタスクを自動化して接続し、モデルの動作状況を完全に把握できます。BigQuery で Vertex AI Pipelines を使用する方法については、予測用の BigQuery ML モデルのエクスポートとデプロイをご覧ください。

スケジュール設定方法: イベント ドリブン

Apigee Integration

Apigee Integration は、コネクタとデータ変換ツールを含む Apigee プラットフォームの拡張機能です。これは、Salesforce などの外部のエンタープライズ アプリケーションと統合する場合に最適です。BigQuery で Apigee Integration を使用する方法については、Apigee Integration と Salesforce トリガーのスタートガイドをご覧ください。

スケジュール設定方法: イベント ドリブンおよび時間ドリブン

Cloud Data Fusion

Cloud Data Fusion は、コーディングが不要な ELT / ETL パイプラインと 150 以上の事前構成済みのコネクタと変換を提供するデータ統合ツールです。BigQuery で Cloud Data Fusion を使用する方法については、MySQL から BigQuery へのデータの複製をご覧ください。

スケジュール設定方法: イベント ドリブンおよび時間ドリブン

Cloud Scheduler

Cloud Scheduler は、バッチストリーミングやインフラストラクチャ オペレーションなど、定義された時間で行われるジョブ用のフルマネージド スケジューラです。BigQuery で Cloud Scheduler を使用する方法については、Cloud Scheduler による Workflows のスケジューリングをご覧ください。

スケジュール設定方法: 時間ドリブン

Cloud Tasks

Cloud Tasks は、メイン ワークロードの外部で個別に実行できる、ジョブの非同期タスク配信用のフルマネージド サービスです。これは時間のかかるバックグラウンド オペレーションの委任や API 呼び出しレートの管理に最適です。BigQuery で Cloud Tasks を使用する方法については、Cloud Tasks キューにタスクを追加するをご覧ください。

スケジュール設定方法: イベント ドリブン

サードパーティ製ツール

CData や SnapLogic などの一般的なさまざまなサードパーティ ツールを使用して、BigQuery に接続することもできます。BigQuery Ready プログラムでは、検証済みパートナー ソリューションの一覧を提供しています。

メッセージング ツール

多くのデータ ワークロードでは、分離されたマイクロサービス間に追加のメッセージ接続が必要で、特定のイベントが発生した場合にのみ有効にする必要があります。Google Cloud には、BigQuery と統合するように設計された 2 つのツールが用意されています。

Pub/Sub

Pub/Sub は、データ統合パイプライン用の非同期メッセージング ツールです。サーバー イベントやユーザー操作などのデータを取り込んで分散するように設計されています。また、IoT デバイスからの並列処理やデータ ストリーミングにも使用できます。BigQuery で Pub/Sub を使用する詳しい方法については、Pub/Sub から BigQuery へのストリーミングをご覧ください。

Eventarc

Eventarc は、データ パイプライン全体の状態変化のフローを管理するイベント ドリブンのツールです。このツールには、自動エラー修正、リソースのラベル付け、画像レタッチなど、さまざまなユースケースがあります。BigQuery で Eventarc を使用する方法については、Eventarc を使用した BigQuery 処理パイプラインの構築をご覧ください。

次のステップ