Scala 评估Spark中的多个元素或键值
我的输入数据示例如下所示(国家、地区、温度) 要求是各区域的总温度 输出应该是Scala 评估Spark中的多个元素或键值,scala,apache-spark,apache-spark-sql,Scala,Apache Spark,Apache Spark Sql,我的输入数据示例如下所示(国家、地区、温度) 要求是各区域的总温度 输出应该是 Ind,Z1,40 Ind,Z2,10 Jap,Z1,20 ……等等 我知道我们可以简单地过滤出国家,用reduceByKey(分区是关键)来计算每个分区的温度,但我不想这样做 我们如何使用RDD或数据帧来实现这一点? 因为我们的数据应该根据国家(地区、温度)进行评估 我不知道如何使用键值对,并为国家评估它们。在@原型Pauls建议((k1,k2),v)之后,这很简单 谢谢 map对(国家、地区)、温度进行rdd然
Ind,Z1,40
Ind,Z2,10
Jap,Z1,20
……等等
我知道我们可以简单地过滤出国家,用reduceByKey(分区是关键)来计算每个分区的温度,但我不想这样做
我们如何使用RDD或数据帧来实现这一点?
因为我们的数据应该根据国家(地区、温度)进行评估
我不知道如何使用键值对,并为国家评估它们。在@原型Pauls建议((k1,k2),v)之后,这很简单
谢谢
map
对(国家、地区)、温度进行rdd
然后reduceByKey
谢谢@TheArchetypalPaul!
Ind,Z1,40
Ind,Z2,10
Jap,Z1,20
val thirdRDD = baseRDD.map(x => x.split(","))
.map(x => ((x(0), x(1)),x(2).trim().toInt))
.reduceByKey(_+_)