我正在尝试使用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")
似乎有些不对劲,但我没有弄清楚什么是正确的方法。
感谢
答案 0 :(得分:3)
不要使用collect
:
x.mapPartitions(p => p.map( r => r+5 ) ).saveAsTextFile("/path/to/folder")
它将数据作为Array
收集到驱动程序。