Google Dataformをローカルで実行できるようにする
Googl Dataformとは
Google Cloudで提供している、BigQuery上で動作するフルマネージドでスケーラブルなデータ変換パイプラインです。
特徴としては、ほぼSQLなクエリを書くだけで、データ変換を定義できます。
なぜローカルで実行したいの?
Google Cloudにブラウザ上にdataformのIDE環境が提供されていますが、近年Cline, github copilotなどと連携するにあたって、ローカルのIDEで開発でき無いと生産性が下がってしまいます。
このローカル実行環境を用意しておかないと、コード修正 => gitにPush => ブラウザのIDEでpullしてきて実行といった手順を行う必要があり、開発のリズムが作れません。
手順
公式ドキュメントはこちら
ただ、情報うすすぎてエラー文読めないと詰むので、手順を記載しておきます
1. gcloud CLIをインストールする
公式はファイルDLしてコマンドたたけだと何だと書いているが、Macならbrewで入れられる。brewで入れる場合は次のコマンドで一発
brew install --cask google-cloud-sdk
または、github copilot agentに gcloud CLIをインストールして
で入れてくれます
2. gcloudの認証
gcloud init
と
gcloud auth application-default login
を実行し、認証して下さい
3. yarnやnpmのインストール
yarn、npm、pnpm好みのパッケージ管理ソフトをインストールしておいてください
4. "グローバル"にdataformをインストール
yarnだと
yarn global add @dataform/cli@^3.0.0-beta
npmだと
npm i -g @dataform/cli@^3.0.0-beta
など。
ローカルインストールすると、"package.jsonが邪魔","node_modulesが邪魔"みたいなエラーが出てdataformコマンドが使えなくなります。
5. yarnなどのglobal binディレクトのパスを通す
yarnの場合
yarn global bin
を実行して帰ってきたパスを、PATHに追加してください。
Windowsの場合は、環境変数のPATHに追加
Macの場合、~/.bashrc
や ~/.zshrc
などに
export PATH="コマンドで帰ってきたパス:$PATH"
を設定後(sourceの後ろにさっき編集したファイルを指定)
source ~/.zshrc
を実行して下さい。
6. Dataformのプロジェクトを作成 または プロジェクトディレクトリに移動
プロジェクトをこれから作る場合は、公式のコマンドを実行してください。
すでにプロジェクトが存在する場合は、そのディレクトリへ移動してください。
7. dataform init-creds実行
リージョンは、BigQueryのリージョンを指定。(BigQueryのデータセット情報の「データのロケーション」と一致させる)
クレデンシャルの種類はADC
を指定
プロジェクト名も、BigQueryのデータセットをおいているプロジェクト名を指定
以上で設定完了です。
あとは、dataform compile
や dataform run
が実行できます。
Discussion