与输入(100.000-200.000 行/秒)相比,我的表输出步长非常慢(~2.000 行/秒)。 MySQL 服务器不是问题,使用 native MySQL,例如通过“执行 SQL 脚本”步骤,我得到了 10 万次/秒的结果。我已经尝试(但没有成功)通过以下方式扩展 SQL 选项的常见解决方案:
useServerPrepStmts=false
rewriteBatchedStatements=true
useCompression=true
我还改变了提交大小参数(100、1.000、10.000)并启用了Use batch updates for inserts
,但也没有成功。我还可以做些什么?我有大约 10.000.000 行的表,并且 Pentaho 在非常强大的机器上运行,所以这是 Not Acceptable 。
最佳答案
为此,我认为理想的步骤是 MySQL Bulk Loader
步骤,它列在批量加载部分下。连同使用所述
useServerPrepStmts=false
rewriteBatchedStatements=true
useCompression=true
在连接的 JDBC 选项中。
这些useCompression会压缩客户端和MySQL服务器之间的流量
其他两个将形成 INSERT INTO tbl (a,b) VALUES (1,'x'),(2,'y'),(3,'z');
而不使用单独的插入每个语句。
关于mysql - Pentaho PDI(勺子): MySQL table output very slow (~2000 rows/s),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38660579/