データ変換の概要

このドキュメントでは、BigQuery テーブルでデータを変換するさまざまな方法について説明します。

データの変換方法

BigQuery では、次の方法でデータを変換できます。

  • データ操作言語(DML)を使用して BigQuery テーブル内のデータを変換します。
  • Dataform を使用して、BigQuery でバージョンを開発、テスト、管理し、SQL ワークフローをスケジュールします。

BigQuery テーブルの変更履歴を確認して、指定した期間にテーブルに対して行われた変換を調べることもできます。

DML でデータを変換する

データ操作言語(DML)を使用して、BigQuery テーブルのデータを変換できます。DML ステートメントは、既存のテーブルデータを操作して行の追加や削除、既存の行のデータの変更、別のテーブルの値とのデータの統合を行う GoogleSQL クエリです。DML 変換はパーティション分割テーブルでもサポートされています。

複数の DML ステートメントを同時に実行できます。その場合、BigQuery はデータを順次変換する複数の DML ステートメントをキューに入れます。BigQuery は、変換タイプに基づいて同時実行 DML ステートメントの実行方法を管理します。

Dataform でデータを変換する

Dataform を使用すると、データ統合の抽出、読み込み、変換(ELT)プロセスにおけるデータ変換を管理できます。ソースシステムから元データを抽出し、BigQuery に読み込んだ後、Dataform を使用して、整理、テスト、ドキュメント化した一連のテーブルに変換できます。DML では、データの変換方法を正確に BigQuery に指示することで命令型アプローチを取りますが、Dataform では宣言型ステートメントを記述し、Dataform がその状態を実現するために必要な変換を決定します。

Dataform では、データソースの宣言からテーブル、ビュー、マテリアライズド ビューの出力まで、データ変換を行う SQL ワークフローの開発、テスト、バージョン管理を行うことができます。SQL ワークフローは、Dataform コアまたは純 JavaScript を使用して開発できます。Dataform コア は、SQLX と JavaScript で SQL を拡張するオープンソースのメタ言語です。Dataform コアを使用すると、依存関係の管理、自動データ品質テストの設定、コード内のテーブルまたは列の説明のドキュメント化を行うことができます。

Dataform は、SQL ワークフロー コードをリポジトリに保存し、Git を使用してファイルの変更を追跡します。Dataform の開発ワークスペースを使用すると、同じリポジトリで作業している他のユーザーの作業に影響を与えることなく、リポジトリのコンテンツを操作できます。Dataform リポジトリは、Azure DevOps Services、BitBucket、GitHub、GitLab などのサードパーティの Git プロバイダに接続できます。

Dataform リリース構成とワークフロー構成を使用して、SQL ワークフローを実行またはスケジュールできます。あるいは、Cloud Composer または Workflows と Cloud Scheduler を使用して実行をスケジュールすることもできます。実行中、Dataform は SQL ワークフローのオブジェクト依存関係の順に BigQuery で SQL クエリを実行します。実行後、定義済みのテーブルとビューを BigQuery で分析に使用できます。

Dataform でのデータ変換 SQL ワークフローの作成の詳細については、Dataform の概要Dataform の機能の概要をご覧ください。

次のステップ