2016-07-04 41 views
0

との同時書き込みどうやら、ケトルのテキストファイル出力ステップは、同時実行をサポートしていない2つの異なるテキストファイル出力手順は同じファイルへの書き込みならば、何のロック機構はありません結果として得られる出力ファイルには、入力ソースのフィールドが混在した出力行が含まれます(間違った)。誰でも私にこの行動の確認を提供することができますか?本Pentaho Kettle Solutionsのページ387からケトル(PentahoのPDI):テキストファイル出力

答えて

0

並列に単一のテキストファイルへの書き込みはできません。 の例では、 "Text file output" ステップの複数のステップコピーを使用して、同じ出力ファイルに書き込むことはできません。試してみると、結果は の混合ファイルで、行とフィールドの位置が間違っています。 この問題は、先進のロックアルゴリズム を使用した場合にのみ、再び並列度を1つの スレッドに減らすことで対抗できます。しかし、単純な解決策は、複数のファイルに出力することです ファイル。

+1

TextFileOutputの前にストリームを結合することができます。これらのストリームは、行のフィールドの数とタイプと一致する必要があります。 – simar

+0

もちろん。テキストファイルの出力が何らかのロックを実装しているかどうかは不思議でした。ありがとうございました。 – Claudio

0

複数の「テキストファイルの出力」手順で同じファイルに書き込むときは、別々のコンテキストを持つ2つの別々のプログラムによってファイルにアクセスするようなものです。もちろん、このような場合にはPentahoが処理する並行処理はありません。 「テキストファイル出力」内のファイル書き込み機能は同期されていますが、単一のコンテキストで並行処理を処理します。

関連する問題