Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting 在Pentaho中排序2-3亿条记录的最佳方法?_Sorting_Csv_Pentaho_Etl_Kettle - Fatal编程技术网

Sorting 在Pentaho中排序2-3亿条记录的最佳方法?

Sorting 在Pentaho中排序2-3亿条记录的最佳方法?,sorting,csv,pentaho,etl,kettle,Sorting,Csv,Pentaho,Etl,Kettle,我正在做这个新任务,我的输入csv文件有大约2亿到3亿条记录,我的要求是对传入数据进行排序,执行查找,获取键值并插入到目标表中。一个建议是编写一个java插件,将数据排序并存储在多个临时文件中(比如每个文件一百万个),然后从中检索。我正在考虑使用pentaho中的排序步骤,并设置开始的拷贝数。但我不确定什么是最好的方法。有人能建议怎么做吗。谢谢。我使用PDI对这么多行进行排序。Sort步骤可以很好地工作,尽管它可能很挑剔。我将“可用内存阈值(单位%)”设置为~50。该步骤将在“排序目录”中生成大

我正在做这个新任务,我的输入csv文件有大约2亿到3亿条记录,我的要求是对传入数据进行排序,执行查找,获取键值并插入到目标表中。一个建议是编写一个java插件,将数据排序并存储在多个临时文件中(比如每个文件一百万个),然后从中检索。我正在考虑使用pentaho中的排序步骤,并设置开始的拷贝数。但我不确定什么是最好的方法。有人能建议怎么做吗。谢谢。

我使用PDI对这么多行进行排序。
Sort
步骤可以很好地工作,尽管它可能很挑剔。我将“可用内存阈值(单位%)”设置为~50。该步骤将在“排序目录”中生成大量临时文件;如果作业崩溃(通常是由于内存不足),则必须手动删除临时文件

如果我必须再做一次,我可能会设置“压缩TMP文件?”选项,因为多次故障使我的磁盘空间不足。祝你好运


Java中的自定义排序可能会提供更好的性能,但开发时间将非常重要。如果你打算每天/每周对这么多行进行排序,不管怎样,这可能是值得的。如果没有,只需使用PDI的
排序

我尝试了一些pentaho排序步骤的测试。当我使用行生成器步骤时,它工作正常,但当我使用cvs输入时,它会冻结或崩溃。不知道为什么。可能是因为数据集的大小。确保“惰性转换”已关闭。尝试调整可用内存阈值设置。谢谢。这很有帮助。减少缓冲区大小也有帮助。