关于spark dataframe ,这里介绍三种实用中实现可能比较麻烦的操作,首先上原始数据集 mRecord:

一,合并content列,将name相同的content合并到一行,用逗号隔开:

        mRecord.createOrReplaceTempView("test");val Df1 = sparkSQL.sql("select name,concat_ws(',',collect_set(content)) as contents from test group by name");Df1.show(false);

结果如下:

二、将contents列的内容根据逗号分隔成三列:

        val Df2 = Df1.withColumn("splitcol",split(col("contents"), ",")).select(col("splitcol").getItem(0).as("col1"),col("splitcol").getItem(1).as("col2"),col("splitcol").getItem(2).as("col3")).drop("splitcol");Df2.show(false);

结果如下:

三、将一中的contents还原最初状态,及将一列的内容根据逗号分隔成多行:

        val Df3 = Df1.withColumn("arrayCol",split(col("contents"),",")).withColumn("expCol",explode(col("arrayCol")));Df3.show(false);

结果如下:

注意expCol列的内容

spark dataframe 一列分隔多列,一列分隔多行(scala)相关推荐

  1. java创建hbase多个列族_Spark:DataFrame写HFile (Hbase)一个列族、一个列扩展一个列族、多个列...

    在上一篇博文中遗留了一个问题,就是只能处理DataFrame 的一行一列,虽然给出一个折中的办法处理多个列,但是对于字段多的DataFrame却略显臃肿,经过我的研究,实现了从一个列族.一个列到一个列 ...

  2. python分两列输出_Pandas实现一列数据分隔为两列

    分割成一个包含两个元素列表的列 对于一个已知分隔符的简单分割(例如,用破折号分割或用空格分割).str.split() 方法就足够了 . 它在字符串的列(系列)上运行,并返回列表(系列). >& ...

  3. R语言把dataframe数据转化为tibble格式、查看每个数据列的缺失值个数、使用数据列的均值对数据列的缺失值进行填充

    R语言把dataframe数据转化为tibble格式.查看每个数据列的缺失值个数.使用数据列的均值对数据列的缺失值进行填充 目录

  4. pandas使用dropna函数删除dataframe中全是缺失值的数据列(drop columns with all missing values in dataframe)

    pandas使用dropna函数删除dataframe中全是缺失值的数据列(drop columns with all missing values in dataframe) 目录

  5. pandas使用query函数删除dataframe中某一列数值小于某一特定值的行(remove dataframe rows baed on column value)

    pandas使用query函数删除dataframe中某一列数值小于某一特定值的行(remove dataframe rows baed on column value) 目录

  6. pandas使用方括号[]或者loc函数、基于列名称或者列名称列表索引dataframe中的单个数据列或者多个数据列(accessing columns of a dataframe)

    pandas使用方括号[]或者loc函数.基于列名称或者列名称列表索引dataframe中的单个数据列或者多个数据列(accessing columns of a dataframe using co ...

  7. pandas使用duplicated函数删除dataframe中重复列名称的数据列、默认保留重复数据列中的第一个数据列(removing duplicate columns in dataframe)

    pandas使用duplicated函数删除dataframe中重复列名称的数据列.默认保留重复数据列中的第一个数据列(removing duplicate columns in dataframe) ...

  8. pandas在dataframe指定位置添加新的数据列、使用insert函数

    pandas在dataframe指定位置添加新的数据列.使用insert函数 目录 pandas在dataframe指定位置添加新的数据列.使用insert函数 #仿真数据

  9. pandas使用iloc函数基于dataframe数据列的索引抽取单列或者多列数据、其中多列索引需要嵌入在列表方括号[]中、或使用:符号形成起始和终止范围索引

    pandas使用iloc函数基于dataframe数据列的索引抽取单列或者多列数据.其中多列索引需要嵌入在列表方括号[]中.或使用:符号形成起始和终止范围索引 目录

最新文章

  1. python以某种编码进行打印_如何在一场面试中展现你对Python的coding能力?
  2. 【安全工具】浅谈编写Java代码审计工具
  3. 客制化键盘键位修改_可以用很漂亮形容的一把键盘,差一步就完美
  4. 10.傅里叶变换——傅里叶变换、计算傅里叶变换_3
  5. pow python用法菜鸟_pow在python中的含义及用法
  6. python socket清空接受区_用 Python 开发一个 「聊天室」
  7. python3之http.server模块
  8. excel如何隔行填充颜色
  9. Walking Robot Simulation
  10. 如何制作PE系统盘?
  11. html固定单元格位置,固定表格布局
  12. 用python给女朋友惊喜_怎样用Python讨您的女朋友欢心(附源码)?女孩很好哄的嘛! zt...
  13. 傅里叶变换求解 KdV 方程
  14. 关于电子科技大学内共享单车使用的调查报告
  15. 《魔兽世界》国服团队正与新合作方洽谈;爆苹果将允许第三方应用商店替代 App Store;Vite 4.0发布|极客头条
  16. Delphi名称的由来(原作:Borland公司Danny Thorpe)
  17. Js判断ie浏览器版本
  18. 如何学习Android及如何利用android来赚钱
  19. 《中国高血压防治指南2010》学习笔记-完成
  20. 手机端网站服务器软件,手机端远程连接服务器的软件

热门文章

  1. 计算机vb中的缺省是什么意思,请问缺省.既然缺省的意思为默认可是为什么不 – 手机爱问...
  2. 小程序实现漂亮的个人中心版面
  3. 程序设计-在校整理-06 最常公共子序列与子串+2048小游戏+KNN简单实例
  4. 2021年新媒体运营不可缺少的24大类工具!
  5. 计算机应用编程师职业指导,计算机应用个人职业生涯规划书.doc
  6. 软件设计师(八)汇总-选择题
  7. 【计划表合集】学习计划表/时间表/打卡表/理财表/读书记录/生活计划表等合集
  8. 微信营销软件 php下载,北牧微信营销系统CMS企业版 php版免费版_北牧微信营销系统CMS企业版 php版PC版下载-东乐软件网...
  9. 作为程序员,我将如何教育自己的孩子
  10. 解决ubuntu无法显示中文拼音