【发布时间】:2019-11-09 10:41:46
【问题描述】:
我在 JavaRDD 中有一堆 20000 行的数据。现在我想保存几个大小完全相同的文件(比如每个文件 70 行)。
我用下面的代码试过了,但是因为它不能完全分割,一些数据集由 69、70 或 71 行组成。困难是我需要所有的大小都相同,除了最后一条记录(它可以更少)。
感谢您的帮助!!!提前谢谢各位!
myString.repartition(286).saveAsTextFile(outputPath);
【问题讨论】:
-
这并不是 Spark 的工作原理。我能问一下,为什么每个文件中的行数完全相同很重要吗??
-
rdd.coalesce(((rdd.count()/70).toInt)).saveAsTextFile("directory_where_") 试试这个合并然后 saveAsTextFile
-
@rohitprakash 这对我不起作用。我的 16353 行仅分为两个文件,分别为 8242 和 8111 行。 trainDataFeatures.coalesce((int)(trainDataFeatures.count()/70)).saveAsTextFile(outputPathTrainFeatures);
-
@GlennieHellesSindholt 因为我想将我的数据放入 SequenceRecordReader 以拟合机器学习模型。
标签: java string apache-spark split rdd