Pythonコードを使ってレコードを処理できるように設定するプロパティです。
サポートされているPythonのバージョンは2.7.xです。
プロパティ |
設定 |
|
---|---|---|
設定 | [Map type] (マップの種類) |
実行する変換のタイプとして次のいずれかを選択します。
詳細は、MAP (マップ)とFLATMAP (フラットマップ)の違いを参照してください。 |
[Python code] (Pythonコード) |
このブロックにPythonコードを入力します。 エディターにはコードの説明に役立つ以下のような機能があります。
注: PythonプロセッサーではJavaパッケージのインポート(
import java.io など)がサポートされていません。Pythonの構文に関する便利なヒントは、Pythonの使用に役立つヒントを参照してください。 Pythonの詳細は、Pythonのオンラインドキュメントを参照してください。 |
|
情報 | [Description] (説明) - オプション |
プロセッサーの説明を入力します。 |
プロセッサー名を変更する場合は、該当するプロセッサーのデフォルト名の横にある[Edit] (編集)アイコンをクリックします。
MAP (マップ)とFLATMAP (フラットマップ)の違い
[MAP] (マップ):
Pythonプロセッサーでは、入力ごとに出力レコードが自動的に生成されます。結果は
output
という名前の変数に格納されます。したがって、各レコードを渡すだけの最も単純なPythonコードは以下のようになります。output = input
[FLATMAP] (フラットマップ):
レコードを明示的に出力するかどうかはPythonコードで決定します。これは複雑なフィルタリングなど、処理ロジックで入力レコード件数よりも少ないレコード件数で出力する場合に便利です。単純/通常のフィルタリングの場合は専用のフィルタープロセッサーを使用できます。
レコードを出力するには、レコードを
output
という変数に明示的に追加する必要があります。したがって、単にすべてのレコードを渡す最も単純なPythonコードは以下のようになります。
ただし、以下のコードを使用することもできます。output.append(input)
if input["passengers"] > 4: output.append(input)
この場合、Pythonプロセッサーは乗客数が4を超えた場合にのみ入力を渡すため、フィルターのように機能します。