コンテンツにスキップ

ポータブル形式へのエクスポート

ポータブル形式にエクスポートは、プロジェクトのワークフローを、PlaidCloudに接続せずにDuckDB上で実行できる、自己完結型のPythonプログラムとしてパッケージ化します。これにより、プロジェクトのロジックとデータのポータブルなコピーが作成され、単独でオフライン実行できます。

これは一方向のエクスポートです。生成されたパッケージは特定時点のスナップショットであり、PlaidCloudには同期されません。変更後に再度エクスポートすると、新しいパッケージが作成されます。

プロジェクトワークフロー + データエクスポート一方向ポータブルパッケージ — オフラインで実行PythonプログラムDuckDBエンジンParquetデータCOVERAGE.mdSQLステップ: 正確に再現副作用のあるステップ: スタブ
一方向の、特定時点のエクスポートです。プロジェクトは、PlaidCloudに接続せずに実行できる自己完結型のPython + DuckDBパッケージになります。SQL変換は正確に再現され、副作用のあるステップはスタブとして含まれ、再現性は COVERAGE.md に記録されます。
  1. Analyzeを開き、プロジェクトタブを選択します。
  2. プロジェクトを1つ選択します。
  3. アクションメニューを開き(またはプロジェクトを右クリックして)、ポータブル形式にエクスポートを選択します。これはプロジェクトのエクスポートの隣にあります。
  4. ダイアログで次の項目を設定します。
    • ドキュメントアカウント — パッケージの書き込み先のドキュメントアカウント。
    • フォルダーパス — そのアカウント内のフォルダー(例:/exports)。
    • データを含める — チェックすると(デフォルト)、ソーステーブルとスナップショットテーブルがParquetとして同梱され、外部データなしでパッケージを実行できます。チェックを外すと、コードとスキーマコントラクトのみが含まれ、データは自分で投入します。
  5. エクスポートをクリックします。完了すると、パッケージの書き込み先とスナップショットされたテーブルの数がメッセージで通知されます。

この操作には、プロジェクトへのアクセス権と、そのテーブルの読み取り権限が必要です。これは、現在のテーブルデータのエクスポートに必要なアクセスレベルと同じです。

エクスポートは、次の内容を含む .zip ファイルです。

  • pipeline_<workflow>.py — ワークフローごとに1つのスクリプトで、ステップが実行順に並んでいます。
  • config.py — エンジンの選択(デフォルトはDuckDB)とプロジェクトのスキーマ名。
  • _runtime.py — 小さなエンジンシム。DuckDB以外の唯一の依存関係です。
  • stubs.py — ポータブルでない処理のための何もしない関数。それぞれが元のステップ構成を保持します。
  • data/ — ソーステーブルとフリーズされたテーブルのParquetスナップショット(データを含めるにチェックした場合)。
  • requirements.txt — Pythonの依存関係(duckdb のみ)。
  • README.md、COVERAGE.md、RUN_ORDER.md — 実行方法、ステップごとの再現性、ワークフロースクリプトを実行する順序。
  1. パッケージを展開し、Python環境を作成します。

    ターミナルウィンドウ
    python -m venv .venv && source .venv/bin/activate
    pip install -r requirements.txt
  2. RUN_ORDER.md に記載された順序で、各ワークフロースクリプトを実行します。

    ターミナルウィンドウ
    python pipeline_<workflow>.py

各スクリプトは、ローカルのDuckDBデータベース(デフォルトは export.duckdb)にテーブルを作成します。SQL変換ステップはその場で再計算されます。スタブ化されたステップは通知を出力し、スナップショットされた出力をそのまま残します。DuckDBの代わりに独自のウェアハウスを使用するようにパッケージを設定するには、config.py の ENGINE を設定します。