首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dataset[Seq[(String,String,String)]]到Dataset[(String,String,String)]

Dataset[Seq[(String,String,String)]]到Dataset[(String,String,String)]
EN

Stack Overflow用户
提问于 2020-05-23 16:29:45
回答 1查看 87关注 0票数 0

我有一个具有以下结构的Cassandra表:

代码语言:javascript
复制
CREATE TABLE myKeyspace.myTable (
  rowkey text,
  columnname text,
  columnvalue text,
  PRIMARY KEY (rowkey, columnname)
  )

我希望插入与火花卡桑德拉连接器相同的数据。

我的Spark数据集属于Dataset[Seq[(String, String, String)]]类型。

我希望将其转换为Dataset[(String, String, String)],以便可以使用.rdd.saveToCassandra接口将其插入到表中。

请协助转换,或者是否有使用相同Dataset[Seq[(String, String, String)]]的直接方法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-23 16:39:21

Dataset[Seq[(String, String, String)]]上调用flatMap,检查下面&如果不能工作,请让我知道。

代码语言:javascript
复制
scala> dds
res124: org.apache.spark.sql.Dataset[Seq[(String, String, String)]] = [value: array<struct<_1:string,_2:string,_3:string>>]

scala> dds.printSchema
root
 |-- value: array (nullable = true)
 |    |-- element: struct (containsNull = true)
 |    |    |-- _1: string (nullable = true)
 |    |    |-- _2: string (nullable = true)
 |    |    |-- _3: string (nullable = true)


scala> dds.flatMap(d => d)
res126: org.apache.spark.sql.Dataset[(String, String, String)] = [_1: string, _2: string ... 1 more field]
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61969383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档