Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 应用SUM agg函数的火花代码_Apache Spark - Fatal编程技术网

Apache spark 应用SUM agg函数的火花代码

Apache spark 应用SUM agg函数的火花代码,apache-spark,Apache Spark,我的输入文件在下面 surender,2015-JAN,100 raja,2015-JAN,20 kumar,2015-FEB,2 ajay,2015-FEB,23 我需要创建一个输出“查找每个月花费的总金额” 预期产量 2015-JAN,120 2015-FEB,25 我在spark shell中尝试了以下代码 scala> val fileRDD = sc.textFile("/user/cloudera/records.txt") scala> val mapRDD =

我的输入文件在下面

surender,2015-JAN,100
raja,2015-JAN,20
kumar,2015-FEB,2
ajay,2015-FEB,23
我需要创建一个输出“查找每个月花费的总金额”

预期产量

2015-JAN,120
2015-FEB,25
我在spark shell中尝试了以下代码

scala> val fileRDD = sc.textFile("/user/cloudera/records.txt")

scala> val mapRDD  = fileRDD.map(x => (x.split(",")(1),x.split(",")(2)))

scala> val reduceRDD = mapRDD.reduceByKey((a,b) => (a+b))

scala> reduceRDD.collect
我得到了输出,但它不正确。Concat操作应用于数量

 res21: Array[(String, String)] = Array((2015-JAN,10020), (2015-FEB,223))

我如何键入它。

在地图的第二部分添加。toInt:

val mapRDD  = fileRDD.map(x => (x.split(",")(1),x.split(",")(2).toInt))

如果不这样做,它仍然将其视为字符串,现在它将添加整数。

在地图的第二部分添加。toInt:

val mapRDD  = fileRDD.map(x => (x.split(",")(1),x.split(",")(2).toInt))
如果不这样做,它仍然将其视为字符串,现在它将添加整数。

这里是:

val fileRDD = sc.textFile("test.txt")
val mapRDD  = fileRDD.map(x => (x.split(",")(1),x.split(",")(2).toInt))
val reduceRDD = mapRDD.reduceByKey(_ + _)
reduceRDD.collect.foreach(println)
这是:

val fileRDD = sc.textFile("test.txt")
val mapRDD  = fileRDD.map(x => (x.split(",")(1),x.split(",")(2).toInt))
val reduceRDD = mapRDD.reduceByKey(_ + _)
reduceRDD.collect.foreach(println)