従来の Dataform と Google Cloud の Dataform の違い
Dataform は、データ アナリストがテーブル、増分テーブル、ビューを開発して BigQuery にデプロイするためのサーバーレス サービスです。Dataform は、SQL ワークフロー開発、GitHub、GitLab、Bitbucket、Azure DevOps Services との接続、継続的インテグレーション、継続的デプロイ、ワークフロー実行のためのウェブ環境を提供します。
Google Cloud の Dataform は、次の点で従来の Dataform と異なります。
- Google Cloud の Dataform は、Dataform リポジトリと Bitbucket リポジトリの接続をサポートしています。
- アクセス制御は IAM に基づいています。
ワークフロー設定ファイルのクエリ同時実行制限(
concurrentQueryLimit
)の構成が削除されています。従来の Dataform では、同時実行の制限により、BigQuery に多数の同時クエリを送信できませんでした。Google Cloud の Dataform で同時実行を管理するには、BigQuery のクエリキューを有効にすることをおすすめします。
レガシー環境はリリース構成に置き換えられます。
以前のスケジュールは、ワークフロー構成に置き換えられます。
ワークフローの失敗アラートは Cloud Logging で構成されます。
Google Cloud の Dataform と従来の Dataform では、使用される NPM バージョンと
package-lock.json
の形式が異なります。従来の Dataform と Google Cloud の Dataform の両方で SQL ワークフローを開発するには、パッケージのインストールに従来の
package-lock.json
形式を使用してください。Google Cloud の Dataform に完全に移行するまでは、Google Cloud の Dataform にパッケージをインストールしないでください。
Google Cloud の Dataform の機能について詳しくは、Dataform の機能の概要をご覧ください。
現時点では Google Cloud でサポートされていない従来の Dataform 機能
現時点では、従来の Dataform の次の機能は、Google Cloud の Dataform ではサポートされていません。
- 単体テストを手動で実行します。
開発ワークスペースでファイル コンテンツを検索します。
このリストは、Google Cloud で Dataform の新機能がリリースされるたびに更新されます。
既知の制限事項
Google Cloud の Dataform には、以下に示す既知の制限事項があります。
Google Cloud の Dataform はプレーンな V8 ランタイムで動作し、Node.js が提供する追加機能とモジュールをサポートしません。既存のコードベースで Node.js モジュールが必要な場合は、これらの依存関係を削除する必要があります。
package.json
に名前フィールドが含まれていないプロジェクトでは、パッケージをインストールするたびにpackage-lock.json
で差分が生成されます。これを回避するには、package.json
にname
プロパティを追加する必要があります。package.json
の依存関係のgit
+https://
URL はサポートされていません。このような URL をプレーンの
https://
アーカイブ URL に変換します。 たとえば、git+https://github.com/dataform-co/dataform-segment.git#1.5
をhttps://github.com/dataform-co/dataform-segment/archive/1.5.tar.gz
に変換します。Dataform コア
3.0.0.
では、Dataform は Docker イメージを配布していません。Dataform の独自の Docker イメージを構築して、Dataform CLI コマンドと同等のコマンドを実行できます。独自の Docker イメージを構築するには、Docker ドキュメントのアプリケーションをコンテナ化するをご覧ください。
始める前に
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and Dataform APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and Dataform APIs.
必要なロール
レガシー プロジェクトをインポートするために必要な権限を取得するには、リポジトリに対する Dataform 管理者(roles/dataform.admin
)の IAM ロールを付与するよう管理者に依頼してください。
ロールの付与については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
レガシー プロジェクトをインポートする
Google Cloud の Dataform にレガシー プロジェクトをインポートするには、Google Cloud コンソールで次の手順を行います。
app.dataform.co
の Dataform プロジェクトが GitHub または GitLab に接続されていることを確認します。Google Cloud コンソールの [Dataform] ページに移動します。
レガシー プロジェクトを格納するリモートの Git リポジトリにリポジトリを接続します。
インポートした Dataform プロジェクトを構成する
レガシー プロジェクトを Google Cloud の Dataform に合わせて調整するには、次の手順に従います。
Google Cloud コンソールの [Dataform] ページに移動します。
リポジトリを選択します。
開発ワークスペースに移動します。
ワークフロー設定ファイルで、デフォルトの場所を指定します。
workflow_settings.yaml
次の形式で defaultLocation
パラメータを追加します。
defaultLocation: DATASET_LOCATION,
DATASET_LOCATION は、BigQuery データセットのデフォルトのロケーション(US
、EU
、us-east1
など)に置き換えます。
defaultLocation
パラメータは app.dataform.co
で無視されます。
dataform.json
次の形式で defaultLocation
パラメータを追加します。
"defaultLocation": "DATASET_LOCATION",
DATASET_LOCATION は、BigQuery データセットのデフォルトのロケーション(US
、EU
、us-east1
など)に置き換えます。
defaultLocation
パラメータは app.dataform.co
で無視されます。
package-lock.json
を削除します。package.json
で、次の操作を行います。@dataform/core
を3.0.0-beta.2
以降にアップグレードします。次の形式でパッケージ名を追加します。
{ "name": "PACKAGE_NAME", "dependencies": { "@dataform/core": "^3.0.0-beta.2" } }
PACKAGE_NAME は、Dataform パッケージの名前(プロジェクト名など)に置き換えます。
package.json
依存関係内のgit+https://
URL をプレーンのhttps://
アーカイブ URL に変換します。たとえば、
git+https://github.com/dataform-co/dataform-segment.git#1.5
をhttps://github.com/dataform-co/dataform-segment/archive/1.5.tar.gz
に変換します。事前構成済みの Dataform パッケージで
git+https://
URL を使用している場合は、リリースページ(たとえば、Dataform セグメント リリース ページ)でこれらのパッケージの更新済みのインストール手順を確認してください。
BigQuery の権限とユーザー権限を構成します。
次のステップ
- Google Cloud の Dataform に従来の環境とスケジュールを移行する方法については、レガシー環境とスケジュールを移行するをご覧ください。
- Google Cloud での Dataform の詳細については、Dataform の概要をご覧ください。
- Google Cloud の Dataform の機能について詳しくは、Dataform の機能の概要をご覧ください。
- リポジトリの作成方法については、Dataform リポジトリの作成をご覧ください。
- Dataform のコード ライフサイクルと構成方法については、Dataform のコード ライフサイクルの概要をご覧ください。