spark dataFrame 新增一列函数withColumn
来源:互联网 发布:合金装备经典台词知乎 编辑:程序博客网 时间:2024/06/03 03:08
http://blog.csdn.net/sparkexpert/article/details/51023375
往一个dataframe新增某个列是很常见的事情。
然而这个资料还是不多,很多都需要很多变换。而且一些字段可能还不太好添加。
不过由于这回需要增加的列非常简单,倒也没有必要再用UDF函数去修改列。
利用withColumn函数就能实现对dataframe中列的添加。但是由于withColumn这个函数中的第二个参数col必须为原有的某一列。所以默认先选择了个ID。
Scala> val df = sqlContext.range(0, 10)
df: org.apache.Spark.sql.DataFrame = [id: bigint]
scala> df.show()
+---+
| id|
+---+
| 0|
| 1|
| 2|
| 3|
| 4|
| 5|
| 6|
| 7|
| 8|
| 9|
+---+
scala> df.withColumn("bb",col(id)*0)
<console>:28: error: not found: value id
df.withColumn("bb",col(id)*0)
^
scala> df.withColumn("bb",col("id")*0)
res2: org.apache.spark.sql.DataFrame = [id: bigint, bb: bigint]
scala> df.show()
+---+
| id|
+---+
| 0|
| 1|
| 2|
| 3|
| 4|
| 5|
| 6|
| 7|
| 8|
| 9|
+---+
scala> res2.show()
+---+---+
| id| bb|
+---+---+
| 0| 0|
| 1| 0|
| 2| 0|
| 3| 0|
| 4| 0|
| 5| 0|
| 6| 0|
| 7| 0|
| 8| 0|
| 9| 0|
+---+---+
scala> res2.withColumn("cc",col("id")*0)
res5: org.apache.spark.sql.DataFrame = [id: bigint, bb: bigint, cc: bigint]
scala> res3.show()
<console>:30: error: value show is not a member of Unit
res3.show()
^
scala> res5.show()
+---+---+---+
| id| bb| cc|
+---+---+---+
| 0| 0| 0|
| 1| 0| 0|
| 2| 0| 0|
| 3| 0| 0|
| 4| 0| 0|
| 5| 0| 0|
| 6| 0| 0|
| 7| 0| 0|
| 8| 0| 0|
| 9| 0| 0|
+---+---+---+
- spark dataFrame 新增一列函数withColumn
- spark dataframe函数编程
- spark dataframe新增列的处理
- Spark的DataFrame的窗口函数使用
- spark dataframe 将一列展开,该列所有值都变成新列
- 【数据平台】dataframe一列成多列
- 通过例子学习spark dataframe--基础函数和Action函数
- spark DataFrame 的函数|基本操作|集成查询记录
- 通过例子学习spark dataframe -- transformations函数(1)
- 通过例子学习spark dataframe -- transformations函数(2)
- Spark注册UDF函数,用于DataFrame DSL or SQL
- Spark DataFrame小试牛刀
- Spark DataFrame小试牛刀
- Spark SQL中的DataFrame
- spark sql DataFrame操作
- Spark DataFrame示例
- Spark DataFrame 介绍
- 【spark】DataFrame基本操作
- 1031. Hello World for U (20)
- 3672: [Noi2014]购票 树剖+线段树+斜率优化
- TensorFlow
- 全排列
- 牛顿迭代法改造!!!!
- spark dataFrame 新增一列函数withColumn
- ECNU 3263 丽娃河的狼人传说(华东师范大学邀请赛) (贪心)
- 高可用集群Keepalived + nginx
- 39.删除链表中重复的结点
- C++ 带符号和无符号char类型赋值超出表示范围的情况
- android 源码查看方式
- 【湘大oj】1173-(立方和)
- POJ 1632 Vase collection 笔记
- Python列表解析配合if else