トランスフォーメーション > Pythonトランスフォーメーション > Pythonコードの開発
  

Pythonコードの開発

Pythonトランスフォーメーションの機能を定義するには、[Python]タブでPythonコードスニペットを入力します。コードスニペットを入力して、入力変数を再構築し、トレーニング済みのモデルをロードし、出力変数を定義し、追加のトランスフォーメーション機能を定義します。
Pythonエディタの以下のセクションでPythonコードスニペットを入力します。
Pre-Partition Pythonコード
一度解釈されすべてのデータ行間で共有されるコードを定義します。
次のタスクを実行する場合は[Pre-Partition Pythonコード]セクションを使用します。
メインPythonコード
パーティションの処理中に入力行を受信した場合のPythonトランスフォーメーションの動作方法を定義します。Pythonトランスフォーメーションは、[メインPythonコード]セクションのコードをパーティションごと、行ごとに処理します。
Post-Partition Pythonコード
パーティション内のすべての入力データを処理した後にPythonトランスフォーメーションの動作方法を定義します。generateRow()メソッドを呼び出して出力行を生成します。
Pythonコードを記述するときには、以下のガイドラインに従ってください。

Pythonコードスニペットの作成

トランスフォーメーション機能を定義するPythonコードスニペットを作成するには、[Python]タブでPythonエディタを使用します。
次の画像は、[Python]タブと展開されているPythonエディタを示しています。
このスクリーンショットは、凡例で説明しているPythonエディタの領域を示しています。
  1. 1[入力]および[出力]タブ。これらのタブを使用して、受信フィールドおよび出力フィールドを変数としてPythonコードスニペットに追加します。これらのタブに表示されるフィールドおよびメソッドは、コードエントリ領域でどのセクションが選択されているかに基づいて異なります。
  2. 2[移動]リストです。コードエントリ領域でセクション間の切り替えに使用します。
  3. 3[最小化]、[両方とも開く]、および[最大化]アイコンです。[最小化]および[最大化]ボタンを使用すると、トランスフォーメーションのプロパティを最小化および最大化できます。[両方とも開く]アイコンを使用すると、Mapping Designerのキャンバスとトランスフォーメーションのプロパティを同時に開けます。
  4. 4コードエントリ領域です。Pythonコードスニペットは、[Pre-Partition Pythonコード][メインPythonコード][Post-Partition Pythonコード]セクションに入力します。
ヒント: トランスフォーメーションのプロパティを展開してコードエントリ領域を詳しく表示するには、[最大化]をクリックします。
Pythonコードスニペットを作成するには、次のタスクを実行します。
    1[移動]リストで、コードスニペットを入力するセクションを選択します。
    2スニペットの受信フィールドまたは出力フィールドにアクセスするには、[入力]または[出力]タブでフィールドを選択し、[追加]をクリックします。
    また、[出力]タブで出力フィールドを作成し、[新しいフィールドの作成]をクリックしても作成できます。
    3セクションに基づいて適切なPythonコードを書き込みます。

リソースファイルの参照

リソースファイルには、Pythonコードで使用するリソースが含まれています。
Pythonトランスフォーメーションでは、リソースファイルの相対パスを入力します。例えば、リソースファイルが<Secure Agent installation directory>/ext/python/folder1/myfileに保存されている場合、相対パスは/folder1/myfileになります。
Pythonコードでリソースファイルにアクセスするには、配列resourceFilesArray[index]を参照します。特定のリソースファイルにアクセスするには、リソースファイルパスのリストにリソースファイルが表示される順序に従って、リソースファイルを識別するためのインデックスを指定します。
複数のリソースファイルを指定する場合、例えば、Pythonコードの最初のリソースファイルを参照するにはresourceFilesArray[0]を使用します。2番目のリソースを参照するにはresourceFilesArray[1]を使用します。