我使用以下语法从spark中读取cassandra:
val rddSelect = sc.cassandraTable("keyspace", "nametable").select("column1", "column2").take(100)
我需要按照spark1中的column1和column2进行聚合组
我尝试过groupbykey和其他转换,但这是错误:
value reduceByKey is not a member of Array[com.datastax.spark.connector.CassandraRow]
也许任何人都可以给我一个线索,thx
注意:我使用scala
答案 0 :(得分:0)
你可以这样做 -
val modifiedRDD = rddSelect.toJavaRDD.rdd
.map { x =>
{
val temp = x.get(0).toString().split(",")
(temp(0), temp(1))
}
}
modifiedRDD.groupBy(func)
modifiedRDD.reduceByKey(func)