我是Spark的新手(虽然我有Hadoop和MapReduce经验)并且我正在尝试处理每行有JSON记录的巨型文件。我想在每一行上进行一些转换,并且每n条记录(比如100万条)写一个输出文件。因此,如果输入文件中有750万条记录,则应生成8个输出文件。 我怎样才能做到这一点?您可以使用Java或Scala提供答案。
使用Spark v2.1.0。
答案 0 :(得分:0)
您可以使用以下内容:
1231454488, 5448545845, 4564456452
我现在在我的Windows游戏电脑上。因此,此代码未经测试,可能包含轻微错误。但总的来说应该有用。
参考:Spark: Cut down no. of output files
作为旁注,虽然控制分区大小并不是一个坏主意,但是任意决定你想要一个分区中的100万条记录可能不是可行的方法。通常,您可以使用分区大小来优化群集利用率。
编辑:我应该注意,这并不能保证每个分区有100万条记录,只是你应该在那个球场内有东西。