オープンソースの Dataform CLI を使用すると、の外部で Dataform コアをローカルで初期化、コンパイル、テスト、 Dataform coreを実行できます。 Google Cloud
Dataform CLI は、アプリケーションのデフォルト認証情報(ADC)をサポートしています。ADC を使用すると、アプリケーション コードを変更することなく、ローカルでの開発環境や本番環境など、さまざまな環境のアプリケーションで認証情報を使用できるようになります。ADC を使用するには、まず ADC に認証情報を指定する必要があります。
始める前に
Dataform CLI をインストールする前に、NPM をインストールします。
Dataform CLI をインストールする
Dataform CLI をインストールするには、次のコマンドを実行します。
npm i -g @dataform/cli
Dataform プロジェクトを初期化する
新しい Dataform プロジェクトを初期化するには、プロジェクト ディレクトリ内で次のコマンドを実行します。
dataform init . YOUR_GOOGLE_CLOUD_PROJECT_ID DEFAULT_LOCATION以下を置き換えます。
YOUR_GOOGLE_CLOUD_PROJECT_ID: 実際の Google Cloud プロジェクト ID。DEFAULT_LOCATION: Dataform がデータを処理して保存する BigQuery のロケーション。
Dataform コアを更新する
Dataform コア フレームワークを更新するには、
workflow_settings.yamlファイルのdataformCoreVersionを更新します。workflow_settings.yamlでdataformCoreVersionが設定されている場合、Dataform は実行時に@dataform/coreを自動的にインストールします。プロジェクトでworkflow_settings.yamlにdataformCoreVersionがなく、package.jsonファイルで@dataform/coreを管理している場合は、package.jsonのバージョンを更新して、次を実行します。dataform install
Dataform CLI を更新する
Dataform CLI ツールを更新するには、次のコマンドを実行します。
npm i -g @dataform/cli@^3.0.50
認証情報ファイルを作成する
Dataform を使用するには、リモート サービスに接続し、ディスクに .df-credentials.json
ファイルを作成するための認証情報ファイルが必要です。
認証情報ファイルを作成する手順は次のとおりです。
次のコマンドを実行します。
dataform init-creds認証情報ファイルの作成手順を説明する
init-credsウィザードに従います。
プロジェクトを作成
Dataform コア 3.0.0 以降の空の Dataform プロジェクトの構造は次のとおりです。
project-dir
├── definitions
├── includes
└── workflow_settings.yaml
アセットを BigQuery にデプロイする Dataform プロジェクトを作成するには、次のコマンドを実行します。
dataform init PROJECT_NAME --default-database YOUR_GOOGLE_CLOUD_PROJECT_ID --default-location DEFAULT_LOCATION以下を置き換えます。
PROJECT_NAME: プロジェクトのディレクトリ名。YOUR_GOOGLE_CLOUD_PROJECT_ID: 実際の Google Cloud プロジェクト ID。DEFAULT_LOCATION: Dataform がデータを処理して保存する BigQuery のロケーション。
プロジェクトのクローンを作成する
サードパーティの Git リポジトリから既存の Dataform プロジェクトのクローンを作成するには、Git プロバイダの手順に従ってください。
クローンされたプロジェクトが
package.jsonファイルで外部依存関係を宣言している場合(workflow_settings.yamlにdataformCoreVersionがない場合)、クローンされたリポジトリ ディレクトリ内で次のコマンドを実行します。dataform install
テーブルを定義する
definitions/ フォルダに定義を保存します。
テーブルを定義するには、次のコマンドを実行します。
echo "config { type: 'TABLE_TYPE' } SELECT_STATEMENT" > definitions/FILE.sqlx以下を置き換えます。
TABLE_TYPE: テーブルのタイプ(table、incremental、viewのいずれか)。SELECT_STATEMENT: テーブルを定義するSELECTステートメントFILE: テーブル定義ファイルの名前。
次のコードサンプルは、example SQLX ファイルにビューを定義します。
echo "config { type: 'view' } SELECT 1 AS test" > definitions/example.sqlx
手動アサーションを定義する
definitions/ フォルダに定義を保存します。
手動アサーションを定義するには、次のコマンドを実行します。
echo "config { type: 'assertion' } SELECT_STATEMENT" > definitions/FILE.sqlx以下を置き換えます。
SELECT_STATEMENT: アサーションを定義するSELECTステートメント。FILE: カスタム SQL オペレーション定義ファイルの名前。
カスタム SQL オペレーションを定義する
definitions/ フォルダに定義を保存します。
カスタム SQL オペレーションを定義するには、次のコマンドを実行します。
echo "config { type: 'operations' } SQL_QUERY" > definitions/FILE.sqlx以下を置き換えます。
SQL_QUERY: カスタム SQL オペレーション。FILE: カスタム SQL オペレーション定義ファイルの名前。
コンパイルの出力を表示する
Dataform は、コードをリアルタイムでコンパイルします。
ターミナルでコンパイル プロセスの出力を表示するには、次のコマンドを実行します。
dataform compileコンパイル プロセスの出力を JSON オブジェクトとして表示するには、次のコマンドを実行します。
dataform compile --jsonカスタム コンパイル変数を使用してコンパイルの出力を表示するには、次のコマンドを実行します。
dataform compile --vars=SAMPLE_VAR=SAMPLE_VALUE,foo=bar以下を置き換えます。
SAMPLE_VAR: カスタム コンパイル変数。SAMPLE_VALUE: カスタム コンパイル変数の値
コードを実行
コードを実行するために、Dataform は BigQuery にアクセスして現在の状態を判断し、結果の SQL を適切に調整します。
Dataform プロジェクトのコードを実行するには、次のコマンドを実行します。
dataform runカスタム コンパイル変数を使用して BigQuery で Dataform プロジェクトのコードを実行するには、次のコマンドを実行します。
dataform run --vars=SAMPLE_VAR=SAMPLE_VALUE,sampleVar2=sampleValue2以下を置き換えます。
SAMPLE_VAR: カスタム コンパイル変数。SAMPLE_VALUE: カスタム コンパイル変数の値
BigQuery で Dataform プロジェクトのコードを実行し、増分テーブル(
protectedとマークされていない場合)をゼロから再構築するには、次のコマンドを実行します。dataform run --full-refresh
--full-refresh を指定しない場合、Dataform は増分テーブルをゼロから再構築せずに更新します(通常のテーブルとビューは常に再構築されます)。
BigQuery に対してコードのドライランを実行するには、次のコマンドを実行します。
dataform run --dry-run
サポートが必要な場合
使用可能なすべてのコマンドとオプションを一覧表示するには、次のコマンドを実行します。
dataform help特定のコマンドの説明を表示するには、次のコマンドを実行します。
dataform help COMMANDCOMMANDは、詳細を確認するコマンドに置き換えます。
次のステップ
- Dataform CLI コマンドとフラグの詳細については、 Dataform CLI リファレンス と GitHub の Dataform CLI リファレンスをご覧ください。
- Dataform の詳細については、 Dataform の概要をご覧ください。