在pentaho 4.4.0中使用"Insert/Update“步骤时,数据加载很慢
我使用的是pentaho 4.4.0。在水壶中使用“插入/更新”步骤时,与mysql相比,数据加载的速度太慢。此步骤将在插入之前扫描整个表中的记录。如果该记录存在,它将进行更新。那么,在执行“插入/更新”时,应该如何优化性能呢?而且处理速度是4r/s,所以我的记录总共将超过1lkh…整个过程需要两个半小时才能完成。
发布于 2014-01-08 01:48:14
根据您的评论,听起来您需要后面跟一个Synchronize after merge的Merge rows (diff)步骤。检查Pentaho wiki以了解这些步骤是如何工作的。
另一件有很大不同的事情是,有多少行会导致upsert,而不是总共有多少行。如果导致写入的行数超过大约40%,@carexcer的最后一条注释可能是更好的方法。如果比较少,一定要尝试Merge rows (diff)步骤。
每秒4- 25行听起来很慢。无论您选择哪一步,都要确保标记为关键字的字段已被索引。
如果大多数行的结果是upsert,那么完全刷新可能会更好。如果是这样的话,请查看MySQL批量加载器。Pentaho同时拥有批处理和流式批量加载器,尽管我不知道它们有多好。
发布于 2014-01-07 18:54:50
尝试在Transaction Size (Commit)字段中设置一个较大的值。
根据要向上插入的行数,在该字段上设置“多”或“少”。
在我的例子中,这大大提高了性能。
如果您要向上插入,例如,100.000行,那么500将是一个很小的值,因为它必须提交200次。
更少的提交,更快的执行。

发布于 2016-06-08 13:50:36
useServerPrepStmts -错误的
useCursorFetch -真正的
useCompression -真正的
您可以尝试编辑连接并将这些参数放在那里。这将提高性能。
双击Database Connection -> Options选项卡-> Add on。
https://stackoverflow.com/questions/20969624
复制相似问题