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)))
}
我开始使用 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)))
}