# Pythonカスタムスクリプトの例 Pythonスクリプトは、Pythonオペレーター`py>`を使用してTD WorkflowまたはDigdagから実行できます。TDコンソールまたはコマンドラインからTD用のワークフローを作成できます。 ワークフローでPythonスクリプトを実行するには、Dockerイメージを指定する必要があります。ワークフロータスクが開始されると、指定されたDockerイメージに基づいて新しいDockerコンテナが作成されます。Dockerにより、Pythonスクリプトはコンテナ内の分離された環境で実行できます。 このチュートリアルの実行には約30分かかり、PythonやDockerイメージの経験は必要ありません。 ## 前提条件 * この機能がTDアカウントで有効になっていることを確認してください。 * TD ToolbeltとTD Toolbelt Workflowモジュールをダウンロードしてインストールします。詳細については、[Treasure Workflowの使用](/ja/products/customer-data-platform/data-workbench/workflows/using-treasure-workflow-from-the-command-line-interface)を参照してください。 * Python 3.9。Pythonコードはこれらのバージョンと互換性がある必要があります。 * Treasure Workflow構文の基本的な知識 ## サードパーティPythonライブラリ TD Workflows内のPythonスクリプトは、Treasure Dataによって分離されたDockerコンテナで管理および実行されます。Treasure Dataは、コンテナで実行するための多数のベースDockerイメージを提供しています。 ```python import os import sys os.system(f"{sys.executable} -m pip install tensorflow") import tensorflow ``` サードパーティPythonライブラリは、pip installコマンドを使用してPythonスクリプトからインストールできます。 ## Python 3.9と互換性のあるDockerイメージの場合: 1. Pythonスクリプト内からライブラリを追加するには、以下を使用します: ```bash pip install ${package_name} ``` ## Pythonの例 以下のような基本的な[例](https://github.com/treasure-data/treasure-boxes/tree/master/integration-box/python)を参照してください: * 関数の呼び出し方法 * 関数へのパラメータの渡し方 * 環境変数の使用方法 * 関数のインポート方法 ## Treasure Dataからのデータの読み書き この例では、Treasure Data内のデータをDataframeに読み込み、データを操作し、テーブルとしてTreasure Dataに書き戻す方法を示しています。 1. [リポジトリ](https://github.com/treasure-data/treasure-boxes)全体をコピーまたはクローンできます。 2. `treasure-boxes/integration-box/python/simple.dig`に移動します。 3. コマンドラインから`ls`と入力して、正しいディレクトリにいることを確認します。以下が表示されるはずです: `README.md other_scripts scripts simple.dig` 4. 以下を入力して、サンプルをTD環境にプッシュします: ```bash td wf push simple-example ``` これにより、simple.digワークフローが実行され、simple-exampleがTDにアップロードされます。 ### サンプルがTDに追加されたことを確認するには: 1. TDコンソールを開きます。 2. Workflowsに移動します。 3. simpleを検索します。 4. simpleワークフローをダブルクリックしてエディターを開きます。例: ![](/assets/image-20200820-235344.091faec0e06c7e47885e43024ed49778cb2ccafa1464457fb657079bc3959128.2e4f387b.png) ### ワークフローを実行するには 1. New Runを選択します。 ![](/assets/image-20200820-235401.aa2d370859b47b08aacc9ff5784e9728c79e5b3831fdd8efdbbc27940fa6a760.2e4f387b.png) ### またはコマンドラインからサンプルを実行するには 1. 以下を入力します: `td wf start simple-example simple --session now` ![](/assets/image-20200820-235614.873918124685fbfa81341a014d04523f84bcbdcde0eafb4a994ef42b8ab1ce66.2e4f387b.png) ### ワークフロージョブの実行を検証するには 1. TDコンソールから、ワークフローエディターに移動します。 2. Run Historyを選択します。 ![](/assets/image-20200820-235519.b23245d31276dfe1fdac3ffa272a75e83b0291a3ae946a07ed80c6ed02a8e73d.2e4f387b.png) 1. ジョブのインスタンスが複数ある場合は、1つを選択してジョブ履歴を開きます。ここから、ジョブが実行された時間、監査ログ、およびジョブに関するその他の有用な診断情報を表示できます。 ![](/assets/image-20200820-235638.0079a62ba3bd15303cd64632e888881c86d89c54dbac095551a36010ab5f5062.2e4f387b.png)