Custom Scriptsを使用すると、Treasure Data Workflow内からコンテナ化されたPythonスクリプトを実行でき、カスタムロジックの柔軟性が向上します。一般的な用途には以下が含まれます:
- データコネクタやその他の統合機能の拡張。
- Pythonで効率的なデータ操作および処理ロジックを作成し、ワークフローから呼び出す。
- 定期的にスケジュールされたTreasure Workflowsの一部としてPythonモデルを実行することで、データサイエンス作業を本番化する。
- データ管理を1つの環境に統合する。Treasure Workflowを使用して複数のデータ環境を接続する。
サポートされているPythonバージョン:
- Python 3.12
- Python 3.10
- Python 3.9
- treasuredata/customscript-python:3.12.11-td0 [現在の安定版]
- Python 3.12.11
- pytd 2.2.0
- digdag/digdag-python:3.10.1
- Python 3.10
- pytd 1.5.1
- td-pyspark 22.7.1
- digdag/digdag-python:3.9.22-td1
- Python 3.9.22
- pytd 1.5.2
- td-pyspark 21.3.0
- digdag/digdag-python:3.9.2 [非推奨]
- Python 3.9.2
- pytd 1.5.1
- td-pyspark 21.3.0
- digdag/digdag-python:3.9 [非推奨]
- Python 3.9.2
- pytd 1.4.0
- td-pyspark 20.12.0
サポートされているDockerイメージの詳細については、Custom Scripts Dockerイメージドキュメントを参照してください。
以下のスニペットはワークフローからの例です:
+py_custom_code:
py>: tasks.printMessage
docker:
image: "treasuredata/customscript-python:3.12.11-td0"Treasure Workflows内のPythonスクリプトは、Treasure Dataによって分離されたDockerコンテナ内で管理および実行されます。Treasure Dataは、コンテナで実行するためのベースDockerイメージをいくつか提供しています。
Dockerイメージで提供されるライブラリに加えて、Pythonスクリプト内でpip installコマンドを使用して追加のサードパーティライブラリをインストールできます。
イメージでサポートされているPythonバージョンとライブラリに基づいて、Pythonスクリプトを実行するための適切なDockerイメージを選択できます。
Pythonスクリプト内から、以下の構文を追加してPythonスクリプトからライブラリをインストールします:
os.system(f"{sys.executable} -m pip install asn1==3.1.0")パッケージの将来のアップデートによる予期しない問題を避けるため、特定のバージョンを指定してPythonパッケージをインストールまたはアップデートすることをお勧めします。
例えば、パッケージの特定のバージョンをインストールするには、以下の構文を使用します:
os.system(f"{sys.executable} -m pip install asn1==3.1.0")バージョンを指定せずに以下の構文を使用しないでください。将来パッケージがアップデートされた際に予期しない問題が発生する可能性があります:
os.system(f"{sys.executable} -m pip install -U pytd")| 記事 | 説明 |
|---|---|
| Custom Scriptsへのパラメータの受け渡し | _envを使用して環境変数を使ってパラメータと認証情報をCustom Scriptに渡すことができます。 |
| ワークフロー内でのカスタムスクリプトタスクの並列実行 | _parallel演算子を使用して、ワークフロー内で複数のPythonスクリプトを並列で実行できます。 |
| Pythonカスタムスクリプト | 完全なCustom Scriptsチュートリアルを順を追って説明します。 |
| Treasure Workflowサービス制限 | 実行されたカスタムスクリプトが強制終了されるまでの期間は1日です。 |