说明:withColumn用于在原有DF新增一列

1. 初始化sqlContext

val sqlContext = new org.apache.spark.sql.SQLContext(sc)

2.导入sqlContext隐式转换

import sqlContext.implicits._

3.  创建DataFrames

val df = sqlContext.read.json("file:///usr/local/spark-2.3.0/examples/src/main/resources/people.json")

4. 显示内容

df.show()

| age|   name| 
+----+-------+
|null|Michael|
|  30|   Andy|
|  19| Justin|

5. 为原有df新加一列

df.withColumn("id2", monotonically_increasing_id()+1)

6. 显示添加列后的内容

res6.show()

+----+-------+---+
| age|   name|id2|
+----+-------+---+
|null|Michael|  1|
|  30|   Andy|  2|
|  19| Justin|  3|
+----+-------+---+

完成的过程如下:

scala> val sqlContext = new org.apache.spark.sql.SQLContext(sc) 
warning: there was one deprecation warning; re-run with -deprecation for details
sqlContext: org.apache.spark.sql.SQLContext = org.apache.spark.sql.SQLContext@2513155a
scala> import sqlContext.implicits._
import sqlContext.implicits._
scala> val df = sqlContext.read.json("file:///usr/local/spark-2.3.0/examples/src/main/resources/people.json")
2018-06-25 18:55:30 WARN  ObjectStore:6666 - Version information not found in metastore. hive.metastore.schema.verification is not enabled so recording the schema version 1.2.0
2018-06-25 18:55:30 WARN  ObjectStore:568 - Failed to get database default, returning NoSuchObjectException
2018-06-25 18:55:32 WARN  ObjectStore:568 - Failed to get database global_temp, returning NoSuchObjectException
df: org.apache.spark.sql.DataFrame = [age: bigint, name: string]
scala> df.show()
+----+-------+
| age|   name|
+----+-------+
|null|Michael|
|  30|   Andy|
|  19| Justin|
+----+-------+
scala> df.withColumn("id2", monotonically_increasing_id()+1)
res6: org.apache.spark.sql.DataFrame = [age: bigint, name: string ... 1 more field]
scala> res6.show()
+----+-------+---+
| age|   name|id2|
+----+-------+---+
|null|Michael|  1|
|  30|   Andy|  2|
|  19| Justin|  3|
+----+-------+---+

转载于:https://www.cnblogs.com/abcdwxc/p/9225855.html

spark dataFrame withColumn相关推荐

  1. Spark DataFrame 添加自增id

    方法一:利用窗口函数 /*** 设置窗口函数的分区以及排序,因为是全局排序而不是分组排序,所有分区依据为空* 排序规则没有特殊要求也可以随意填写*/val spec = Window.partitio ...

  2. spark dataframe 一列分隔多列,一列分隔多行(scala)

    关于spark dataframe ,这里介绍三种实用中实现可能比较麻烦的操作,首先上原始数据集 mRecord: 一,合并content列,将name相同的content合并到一行,用逗号隔开: m ...

  3. 如何优雅的实现pandas DataFrame 和spark dataFrame 相互转换

    如何优雅的实现pandas DataFrame 和spark dataFrame 相互转换 #!/usr/bin/env python3 # -*- coding: utf-8 -*- "& ...

  4. 学习笔记Spark(七)—— Spark SQL应用(2)—— Spark DataFrame基础操作

    二.Spark DataFrame基础操作 2.1.DataFrame DataFrame是一种不可变的分布式数据集,这种数据集被组织成指定的列,类似于关系数据库中的表. 数据集的每一列都带有名称和类 ...

  5. 基于Alluxio系统的Spark DataFrame高效存储管理技术

    介绍 越来越多的公司和组织开始将Alluxio和Spark一起部署从而简化数据管理,提升数据访问性能.Qunar最近将Alluxio部署在他们的生产环境中,从而将Spark streaming作业的平 ...

  6. pyspark —— spark dataframe 从hdfs读写文件:按照指定文件格式读写文件(读写csv、json、text文件,读取hive表,读取MySQL表)、按照指定分隔符读写文件

    spark有3种数据结构--RDD.DataFrame.DataSet.这里展示的文件读写方式,都是针对dataFrame数据结构的,也就是文件读进来之后,是一个spark dataFrame. 0. ...

  7. spark dataframe的select和selectexpr的区别

    对比: spark dataframe的select和selectexpr的区别 select是把要遍历的集合ienumerable逐一遍历,每次返回一个t,合并之后直接返回一个ienumerable ...

  8. [Spark进阶]-- Spark Dataframe操作

    参考:https://github.com/rklick-solutions/spark-tutorial/wiki/Spark-SQL#introduction Skip to co Spark S ...

  9. spark DataFrame新增一列id列(单调递增,不重复)的几种方法

    1.使用functions里面的monotonically_increasing_id(),生成单调递增,不保证连续,最大64bit,的一列.分区数不变. import org.apache.spar ...

最新文章

  1. Oracle RAC错误之--oifcfg错误案例
  2. cdev_alloc和cdev_init 的使用
  3. 用一个小球揭开地球的面纱,探索地球运转的秘密!
  4. (王道408考研操作系统)第五章输入/输出(I/O)管理-第一节1:I/O设备的概念和分类
  5. Sharepoint定制的时候应该注意的事项
  6. JS 立即执行的函数表达式(function)写法
  7. win7计算机时间显示错误,win7系统时间调不对的解决方法
  8. 一次通过PMP认证考试的心得分享
  9. 数据特征分析方法总结
  10. 手机html图片自适应屏幕大小,手机端 图片自适应屏幕尺寸
  11. 「Slack」- 安装 @20210303
  12. 哈工大计算机网络Mooc 最后的总结
  13. 第58章 热力学、热量和你
  14. Cannot unpack file C:\Users\ADMINI~1\AppData\Local\Temp\pip-ilsapnxq-unpack\simple.htm
  15. Direct3D Devices
  16. 深夜磨刀,Linux Graphics Stack 概述 | Linux 驱动
  17. Apollo星火计划学习笔记——Apollo开放空间规划算法原理与实践
  18. STC 单片机应使用何种编译器/汇编器
  19. 各类学习网站分享和好用的工具及插件
  20. 武汉理工计算机学硕是几年,2021年武汉理工大学计算机技术考研成功经验分享...

热门文章

  1. 航空企业如何用「AI利器」提升乘客体验
  2. 一篇文章教你如何制作二次元角色建模!
  3. 开源游戏服务器端框架Firefly正式将GFirefly整合
  4. Java_IO流(精讲)包含练习题及答案
  5. EASCII码对照表(建议收藏)
  6. ##安装MySql数据库并解决如果安装出错卸载的注意事项
  7. ModBus的小于3.5S间隔的理解
  8. 写存储过程与调用存储过程
  9. 存储过程系列之存储过程具体操作过程及sql数据库调用
  10. DataUml Design 教程6-DataUML Design 1.1版本号正式公布(支持PD数据模型)