在Pentaho中分类200-3亿条记录的最佳方法是什么?

时间:2017-01-25 15:13:25

标签: sorting csv pentaho etl kettle

我正在处理这项新任务,其中我的输入csv文件有大约2亿到3亿条记录,我的要求是对传入数据进行排序,执行查找获取键值并插入目标表。一个建议是编写一个java插件,它将数据排序并存储在多个临时文件中(比如每个一百万个)并从那里检索。我想在pentaho中使用排序步骤并设置要开始的副本数量。但我不确定这是最好的方法。任何人都可以建议如何解决这个问题。感谢。

1 个答案:

答案 0 :(得分:2)

我已经使用PDI对这么多行进行排序。 int* (*ptr)[16][128]; 步骤工作正常,因为它可能很挑剔。我设置了我的"可用内存阈值(以%为单位)"到~50。该步骤将在您的"排序目录中生成大量临时文件&#34 ;;如果作业崩溃(通常是内存不足),则必须手动删除临时文件。

如果我不得不再次这样做,我可能会设置"压缩TMP文件?"选项,因为多个故障使我超出了磁盘空间。祝你好运!

Java中的自定义排序可能会为您带来更好的性能,但开发时间会很长。如果你每天/每周排序这么多行,无论如何,它可能是值得的。如果没有,请坚持使用PDI' Sort