トランスフォーメーション > Pythonトランスフォーメーション > 例: IDカラムの非パーティション化データへの追加
  

例: IDカラムの非パーティション化データへの追加

センサを使用してシステムの健全性をモニタする太陽熱発電を組織によって運営します。現在、各センサはその位置で識別されます。これに代わって、IDを使用して各センサを識別し、今後のデータ分析を簡略化します。
センサ出力から次のデータを収集します。
SensorLocation
LastReadingTime
Area A
7/9/2019 11:36:09
Area B
7/9/2019 16:43:42
Area C
7/9/2019 13:23:53
IDカラムを追加して、ID値を各センサに割り当てるには、次のタスクを実行します。
手順1.Pythonトランスフォーメーションを作成します。
Pythonトランスフォーメーションを作成します。[詳細]タブで、動作を[パッシブ]に設定します。
手順2.データをPythonトランスフォーメーションに渡します。
マッピングのアップストリームトランスフォーメーションからPythonトランスフォーメーションにデータを渡します。
データをPythonトランスフォーメーションに渡すと、次の受信フィールドが含まれています。
手順3.出力フィールドを作成します。
Pythonトランスフォーメーションの[出力フィールド]タブを使用して、IDカラムを表す出力フィールドSensorID_outを作成します。
また、次の出力フィールドを作成して、受信データをダウンストリームトランスフォーメーションに渡します。
手順4.各行のID値を設定します。
[メインPythonコード]セクションで、次のコードを使用して処理される各行のID値を設定し、データを出力フィールドに書き込みます。
SensorID="".join(str(x) for x in map(ord, SensorLocation))

SensorID_out = SensorID
SensorLocation_out = SensorLocation
LastReadingTime_out = LastReadingTime
手順5.マッピングを実行します。
Pythonトランスフォーメーションの出力フィールドが書き込みトランスフォーメーションに直接リンクされている場合、ターゲットにはマッピング実行後に次のデータが含まれます。
SensorID_out
SensorLocation_out
LastReadingTime_out
65114101973265
Area A
7/9/2019 11:30:00
65114101973266
Area B
7/9/2019 11:35:00
65114101973267
Area C
7/9/2019 11:40:00