Spark2 DataSet 创建新行之flatMap

Posted 智能先行者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark2 DataSet 创建新行之flatMap相关的知识,希望对你有一定的参考价值。

val dfList = List(("Hadoop", "Java,SQL,Hive,HBase,mysql"), ("Spark", "Scala,SQL,DataSet,MLlib,GraphX"))
dfList: List[(String, String)] = List((Hadoop,Java,SQL,Hive,HBase,MySQL), (Spark,Scala,SQL,DataSet,MLlib,GraphX))

case class Book(title: String, words: String)

val df=dfList.map{p=>Book(p._1,p._2)}.toDS()
df: org.apache.spark.sql.Dataset[Book] = [title: string, words: string]

df.show
+------+--------------------+
| title|               words|
+------+--------------------+
|Hadoop|Java,SQL,Hive,HBa...|
| Spark|Scala,SQL,DataSet...|
+------+--------------------+

df.flatMap(_.words.split(",")).show
+-------+
|  value|
+-------+
|   Java|
|    SQL|
|   Hive|
|  HBase|
|  MySQL|
|  Scala|
|    SQL|
|DataSet|
|  MLlib|
| GraphX|
+-------+

 

以上是关于Spark2 DataSet 创建新行之flatMap的主要内容,如果未能解决你的问题,请参考以下文章

C# SQLCe 在不加载整个表的情况下使用 DataSet 插入新行?

大数据之Spark:Spark SQL

Spark文档阅读之二:Programming Guides - Quick Start

在 Spark 2 中使用 DataSet.repartition - 多个任务处理多个分区

Spark 2.0.0:如何使用自定义编码类型聚合 DataSet?

为啥 DataFrame 在 spark 2.2 中仍然存在,甚至 DataSet 在 scala 中也提供了更多的性能? [复制]