用例:从DB2中以单个批处理的方式获取事务数据(例如,rows=10000),并将它们插入到Vertica数据库中。
问题:我应该从数据库中获取一行还是一批10k行,处理后插入目标数据库?有没有从一个数据库读取并写入另一个数据库的示例代码?
您应该始终喜欢批处理执行,这样可以最大限度地减少网络往返,并提高Vertica的负载。
您可以使用JDBC输入和输出运算符从源数据库和目标数据库中提取。它们应该具有可配置的批量大小。一般来说,批处理比逐元组的批处理快。
检查https://github.com/apache/incubator-apex-malhar/tree/master/library/src/main/java/com/datatorrent/lib/db/jdbc
您可以在项目的src/site/conf中添加多个XML配置文件,并在启动时选择其中一个。这在http://docs.datatorrent.com/application_packages/在标题为"添加预设配置"的部分下