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|
+-------+
时间: 2024-10-19 14:35:43

Spark2 DataSet 创建新行之flatMap的相关文章

C# DataGridView控件动态添加新行

C# DataGridView控件动态添加新行 DataGridView控件在实际应用中非常实用,特别需要表格显示数据时.可以静态绑定数据源,这样就自动为DataGridView控件添加相应的行.假如需要动态为DataGridView控件添加新行,方法有很多种,下面简单介绍如何为DataGridView控件动态添加新行的两种方法: 方法一: int index=this.dataGridView1.Rows.Add(); this.dataGridView1.Rows[index].Cells[

关于HP DL380e服务器安装提示“安装程序无法创建新的系统分区也无法定位”

这里将刚刚遇到的一个服务器安装问题总结一下,以便自己后续使用,事实证明,几篇关于服务器的博文,收益最多的还是自己,因为每次都有不一样的问题,每次都在翻这些文章,所以我明白今天记下这个问题的重要性,Just for me!!! 说明一下,此类问题较为普遍,可能不是最优解,但是这里提供一下个人的见解,毕竟我个人在这个问题上成功了! 机型:HPDL380e 初始RAID:RAID1 本次安装的镜像为Server08 SP2,使用U盘刻录的镜像完成 再次说下吧,惠普的机器,F9是主板设置(可能不准确,但

cocos2d-x3.2创建新项目失败的一种可能性(cygwin自带的python2.6被抢先执行)

之前一直使用cocos2d-x2.2写游戏,写了几个游戏后,想尝试下3.x版本的新功能,就下载了cocos2d-x3.2版本. 参照官方文档的说法,cocos2d-x3.x版本需要python2.7环境支持,python2.6以及python3.x版本都不行,所以特意去python官网下载了2.7.8版本,安装好后进入目录: cocos2d-x-3.2\tools\cocos2d-console\bin 执行命令: python cocos.py new HelloCpp -p com.hell

“安装程序无法创建新的系统分区,也无法定位现有分区”的解决方案

walker在安装原版Windows Server 2008 R2时遇到"安装程序无法创建新的系统分区,也无法定位现有分区"问题,记录一下解决过程. 1.shift+F10进入命令行,用diskpart相关命令(active)激活C盘分区. 2.用U盘进入PE系统. (1).将原版ISO文件解压后的boot(文件夹).sources(文件夹).bootmgr(文件)拷贝到C盘. (2).在PE的命令行里面执行命令修复引导扇区:c:\boot\bootsect.exe /nt60 c:.

数据库SQL Server2012笔记(四)——多表查询、子查询、分页查询、用查询结果创建新表和外连接

1.多表查询 1)笛卡尔集: select  *  from  表名1,表名2 select  *  from  表名1,表名2  where   表名1.字段名=表名2.字段名 注: 若有两张表有相同名字的字段,则使用时需带表名(别名). order  by  置于where 条件之后. 2)自连接:同一张表的连接查询,将一张表视为两张表或多张表. eg:显示公司每个员工名字和他的上级的名字.将emp表看做两张表worker和boss select  worker.ename  雇员,boss

目录: 第3章 创建新的 SQL Server实例

第3章  创建新的 SQL Server实例 3.1  使用安装向导 3.2  从命令行安装 3.3  在服务器核心中安装

cocos2d-x -3.81+win7+vs2013开发环境创建新的项目

cocos2d-x -3.81+win7+vs2013开发环境创建新的项目 1.准备阶段 (1) vs2013下载及安装 (2)cocos2d-x 3.8.1下载及解压 (3)python下载及安装(新版本cocos2d需要python创建工程) 2.编译cocos2d-x 3.8.1 (1) cocos2d-x 3.8.1解压后, 打开E:\cocos2d-x-3.8.1\build文件夹, 双击cocos2d-win32.sln打开解决方案. (2) 在解决方案准备就绪后, 右键cpp-te

Linux要在shell 提示下创建新用户帐号

如果你没有登录为根用户,键入命令 su -  然后输入根口令,从而切换到root用户模式. 1.创建新用户:在命令行中键入useradd,随后一个空格和你创建的新用户的用户名(例如,useradd guacm),按 [Enter] 键. 2.为新用户设置密码:键入 passwd,随后一个空格和该用户名(例如,passwd guacm),按 [Enter] 键. 在 New password: 提示下为新用户输入一个口令,然后按 [Enter]. 在 Retype new password: 提示

POI教程之第一讲:创建新工作簿, Sheet 页,创建单元格

第一讲 Poi 简介 Apache POI 是Apache 软件基金会的开放源码函数库,Poi提供API给java程序对Microsoft Office格式档案读和写的功能. 1.创建新工作簿,并给工作簿命名 Workbook wb=new HSSFWorkbook(); // 定义一个新的工作簿 FileOutputStream fileOut=new FileOutputStream("c:\\用Poi搞出来的工作簿.xls"); wb.write(fileOut); fileOu