如何使用mapPartitions后跟saveAsTextFiles

时间:2017-06-06 21:19:07

标签: apache-spark

我正在尝试使用mapPartitions,然后通过以下方法将结果保存到HDFS:

val x = sc.parallelize(List(1, 2, 3, 4, 5, 6, 7, 8, 9,10), 3)
x.mapPartitions(p =>  p.map( r => r+5 ) ).collect().saveAsTextFile("/path/to/folder")
  

:29:错误:值saveAsTextFile不是其成员   阵列[INT]          x.mapPartitions(p => p.map(r => r + 5))。collect()。saveAsTextFile(" / path / to / folder")

似乎有些不对劲,但我没有弄清楚什么是正确的方法。

感谢

1 个答案:

答案 0 :(得分:3)

不要使用collect

x.mapPartitions(p =>  p.map( r => r+5 ) ).saveAsTextFile("/path/to/folder")

它将数据作为Array收集到驱动程序。