2017-11-30 11 views
0

単純な検証とPentahoを使用した新しいExcelシートでの取得で、94000を超えるレコードを含むExcelシートからレコードをフィルターにかけようとしています。しかし、入力ファイルの読み込みとレコードのフィルタリングの速度は、20000レコードを渡した後、徐々に50 r/s未満に減少します。Pentahoのフィルター行の速度を改善する

レコードの処理速度を上げる方法や、初期速度1000r/sを維持する方法はありますか?

enter image description here

答えて

0

これを解決する最善の方法は、2つの変換と1つのジョブで現在の変換を分割することだと思います。最初の変換は、Excelの行とフィルターを入力し、テキストファイル出力ステップを「一時的な」結果として使用します。次の変換では、以前に作成したCSVファイルを読み込み、Excel WriterでExcelに書き出します。プレーンテキストのCSV形式の行を読み込むほうがExcelの読み込み速度が速いです。 Excelの配線はスプーンで極端に制限されています。楽しむ。

0

私はボトルネックがExcel Inpuトンのステップではなく、Filter stepである嗅ぎます。

実際、Excel Inputは非常に遅いです。可能な限り毎回CSV Inputを使用している理由。

Filterステップは速く、数千以上の速度が一般的です。あなたのケースでは、このステップは、作業ではなくExcel Inputステップから行を取得するのを待っています。それは、速度が49行/秒であり、Input Excelの60行/秒から遠くないことであると説明されています。

x行の後にプロセスがスローダウンするという事実は、メモリがいっぱいで、JVMがディスクスワップに時間を費やしていることを示しています。 spoon.bat/spoon.shのメモリサイズを増やしてみてください。 [セットPENTAHO_DI_JAVA_OPTIONS =「 - Xms1024m」「-Xmx メートル」「-XX:MaxPermSizeを= 256メートル」]あなたが試すことができ、他の

何かがPDIは、各ステップで維持した行の数を調整することです。任意の場所、プロパティ、その他、行セットの行数をクリックします。 Excelの入力で読み取ったバッチのサイズとメモリに保存されているレコードの総数の間に適切なバランスが見つかるまで減らしてください。

ただし、Excel 2007のXLSXスプレッドシートの種類を避けることをお勧めします。

+0

いいえ、ボトルネックはExcelの出力にあります。入力/出力バッファを見てください。入力ステップはバッファが空になるのを待っています。 Excelの出力には、10K行の書き込み待ちがあります。 – nsousa

0

あなたのボトルネックは、入力バッファで待機している10k行から簡単にわかるように、Excelへの書き込み中です。

Excelへの書き込みは遅いことが知られています。あなたは代わりにExcelライターのステップを試してみたいかもしれませんが、奇跡を期待してはいけません。

ステップの速度は「通過した行数を合計時間で割った値」で与えられます。ダウンストリームのステップが遅い場合、これは時間とともに減少します。あなたは出力ステップを無効にすることでそれを見ることができ、最初の2つのステップがはるかに高速であることがわかります。

2

Excel出力ステップの代わりにダミーステップを置き、変換をもう一度実行します。あなたが今より良いスループットを得るなら、あなたは優れた作家が犯人であることを理解することができます。

Pentaho etlのパフォーマンスチューニングの詳細については、https://support.pentaho.com/hc/en-us/articles/205715046-Best-Practices-Pentaho-Data-Integration-Performance-Tuning-を参照してください。

+0

リンクありがとうございます – Enthusiastic

関連する問題