Spark-Scala RDD [(String,Int)]不可变的错误

时间:2017-01-28 00:19:31

标签: apache-spark

我想处理格式低于,

的csv文件
Tran-Date, Reference-Id, Payee, Address, Amount
2016/02/22,34343432, Wawa, Malvern, -10.51
2016/01/12,34343411, Exon, Malvern, -30.67
2016/03/02,34343999, Wawa, Malvern, -19.23

我想要的输出如下,

wawa, -29.74
Exon, -30.67

我在Spark-Shell中执行了以下操作,

val textFile = sc.textFile("/file/source")
val payeeAmountMap = textFile.map(lines => {val line = lines.split(","); 
(line(2), line(4).toInt)})

上面的命令导致了RDD [(String,Int)]

问题是,我无法打印此RDD或对此RDD执行任何操作。

请告知如何进一步获得所需的输出。

注意: - 我是新的Spark世界。任何建议都会对我有所帮助。

提前致谢。

1 个答案:

答案 0 :(得分:1)

如果您只想要一些输出,则需要采取措施。例如

payeeAmountMap.take(5)

就您所需的输出而言,您需要按收款人分组并在金额列上应用和汇总函数

注意:Spark SQL和spark-csv库不仅可以帮助您自行分割逗号并使用RDD函数