シナリオ :
Generate rows -> Table input -> Delay row -> Table output.
行の生成: (4 つのコピー)
Generate 10 rows.
Pass the field 'value' with value 1.
テーブル入力 : (4部)
Run for each row and use the value 1 (as where 1 = ?. So no effect).
insert data from previous step.
Get the count of a table my_table (select count(*) from...).
Field = val_count.
遅延行: (4 コピー)
1 second delay.
テーブル出力: (1 コピー)
Insert the val_count to the same table, i.e. my_table.
commit row = 1.
truncate table.
データベース :
Oracle
変換が完了すると、my_table は値 0 のみで埋められます (合計 40 個のゼロ)。最初の実行ラウンド (ラウンド 2 から 10) の後でテーブル入力が実際の行数を取得しないのはなぜですか。または、この設計で私がした間違いは何ですか?
Pentaho : Kettle - Spoon 一般公開リリース - 5.3.0.0-213
Java : jdk1.8.0_51 (64)
OS : Windows 8.1 (64)
Oracle : Oracle Database 11g Express Edition リリース 11.2.0.2.0 - プロダクション
分析後に追加された詳細情報
テーブル出力への 4 つのリンクで、1 つのリンクから遅延を削除しました。だから私は期待したものを手に入れました。だから私はすべての遅延を取り除き、期待される結果を得ました。しかし、私はその理由を理解することができません。