Spark Cassandra 列表数据类型映射

Spark Cassandra List Data type Mapping

我开始使用 Cassandra 测试 Spark。 我从 Cassandra 获取数据,它有两列(主键,集合)。

val sc = new SparkContext("spark://172.31.32.224:7077","test", conf)
val rdd = sc.cassandraTable("test", "table").select("pk", "lists")
.map(l => (l.get[String]("pk"), l.getList[String]("lists")))

但是这段代码是映射(String, Seq[String]) 我想打破 Seq[String] 并与 "pk" 配对,例如

((pk1, list(1)), (pk1, list(2), (pk1, list(3)))

有办法吗?

map 替换为 flatmap 并创建一组对:

.flatMap{l => 
    val pk = l.get[String]("pk")
    l.getList[String]("lists").map(item => (pk,List(item)))
}