spark dataframe新增列的处理
来源:互联网 发布:mac能玩穿越火线吗 编辑:程序博客网 时间:2024/05/20 16:42
往一个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|
+---+---+---+
scala>
- spark dataframe新增列的处理
- spark dataFrame 新增一列函数withColumn
- spark-DataFrame学习记录-[2]解决spark-dataframe的JOIN操作之后产生重复列(Reference '***' is ambiguous问题解决)
- Spark dataframe 多列 合并成 vector
- 如何避免spark dataframe的JOIN操作之后产生重复列(Reference '***' is ambiguous问题解决)
- Spark中的DataFrame的getAs方法如果取到的值是null的处理
- 对spark dataframe join之后的列值NULL值进行填充为指定数值的操作
- Spark的DataFrame的窗口函数使用
- 基于DataFrame的StopWordsRemover处理
- 我对DataFrame的理解(Spark)
- spark中的dataframe与sparksql的实例
- 基于Spark DataFrame的数据仓库框架
- day56-Spark SQL和DataFrame的本质
- 解密Spark SQL与DataFrame的本质
- Spark SQL和DataFrame的学习总结
- 使用spark的dataframe实现单词统计
- spark之DataFrame的json数据实战
- Spark RDD、DataFrame和DataSet的区别
- HR筛选简历的12个要点,投简历必读!
- JavaScript笔记4--闭包
- 汉诺塔(三)
- EditText常用属性【三】:EditText选取操作
- MINGW64位编译QT
- spark dataframe新增列的处理
- Smobiler实现图表分析功能—Chart控件(开发日志十一)
- android activity的四种启动模式
- PHP+ajax实现连接数据库、加载更多
- 优化Android Studio/Gradle构建
- UVA - 12169 Disgruntled Judge
- datatable、dataset和datarow
- 云计算:利用叶子云桌面虚拟化管理平台搭建企业的桌面云,叶子云安装(二)
- UIView的一个弹出动画