Pentaho PDI 6 を次のように使用します。
A) .csv (IBM の 4 行 .csv ) での CSV 入力、ASCII ファイル エンコーディング (プレビュー行は正常に動作)
に接続されています
B) Tools -> MarketPlace からインストール可能なCPython Script Executor 。Python、Pandas、Numpy がインストールされていることを前提としています。スクリプト設定:
構成、入力フレーム: (前の手順)、df
Python スクリプト、手動 Python スクリプト:df.replace(to_replace= "\[|\]|'|\"", value='', regex=True, inplace=True)
出力フィールド、出力フィールド: (列名、文字列型)
スロー
2016/07/25 10:45:21 - CPython Script Executor.0 - ERROR (version 6.1.0.1-196, build 1 from 2016-04-07 12.08.49 by buildguy) : Unexpected error
2016/07/25 10:45:21 - CPython Script Executor.0 - ERROR (version 6.1.0.1-196, build 1 from 2016-04-07 12.08.49 by buildguy) : java.lang.NullPointerException
2016/07/25 10:45:21 - CPython Script Executor.0 - at org.pentaho.python.PythonSession.rowsToPythonDataFrame(PythonSession.java:389)
2016/07/25 10:45:21 - CPython Script Executor.0 - at org.pentaho.di.trans.steps.cpythonscriptexecutor.CPythonScriptExecutor.rowsToPyDataFrame(CPythonScriptExecutor.java:458)
2016/07/25 10:45:21 - CPython Script Executor.0 - at org.pentaho.di.trans.steps.cpythonscriptexecutor.CPythonScriptExecutor.processBatch(CPythonScriptExecutor.java:276)
2016/07/25 10:45:21 - CPython Script Executor.0 - at org.pentaho.di.trans.steps.cpythonscriptexecutor.CPythonScriptExecutor.processRow(CPythonScriptExecutor.java:243)
2016/07/25 10:45:21 - CPython Script Executor.0 - at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62)
2016/07/25 10:45:21 - CPython Script Executor.0 - at java.lang.Thread.run(Unknown Source)
2016/07/25 10:45:21 - CPython Script Executor.0 - Finished processing (I=0, O=0, R=3, W=0, U=0, E=1)
以前のデバッグでは、processRow がメタデータ タイプを特定できない可能性があることが示されていますが、このエラーはこれを示していません。
質問: NullPointerExceptions をスローせずに .csv を読み取るようにスクリプト タスクを設定する適切な方法は何ですか?
編集 - ソース資料でもエラーが再現されます。参照: Mark Hall、Cpython Scriptingおよびサンプルの .zip ファイル
EDIT 1 -python
コマンドプロンプトで
C:\Users\*****>python
Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:01:18) [MSC v.1900 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
私は anaconda を実行していません (重量が重すぎます)。私のバージョンの Python は .1 進んでいます。これは影響を与える可能性がありますが、Python バイナリ プログラミング インターフェイスが変更されたり何かが変更されない限り、プラグインが Python のバージョンに依存しないことを願っています。
編集 2 - Kettle ファイルを添付できませんが、上記の Mark Hall のサンプル ファイルは、私が遭遇した同じ問題を再現しています。