博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spark:给DataFrame添加一个有类型的null列
阅读量:7286 次
发布时间:2019-06-30

本文共 717 字,大约阅读时间需要 2 分钟。

我们知道,scala中Int类型不能为null

而Dataset中表示的Int值的IntegerType类型列却能为null

如果我们想产生一个IntegerType类型列为null的DataFrame该怎么做?

下面的代码可以做到:

import org.apache.spark.sql.functions._import org.apache.spark.sql.types._val df_json = spark.createDataFrame(List(  (1.2, 1),  (3.1, 2)))  .toDF("col1", "col2")val udf_null = udf((s: Any) => null)val df_res = df_json.withColumn("col3", udf_null(col("col1")).cast(IntegerType))df_res.show
scala> df_res.printSchemaroot |-- col1: double (nullable = false) |-- col2: integer (nullable = false) |-- col3: integer (nullable = true)scala> df_res.show+----+----+----+|col1|col2|col3|+----+----+----+| 1.2|   1|null|| 3.1|   2|null|+----+----+----+

转载于:https://www.cnblogs.com/xuejianbest/p/10285002.html

你可能感兴趣的文章
shell中的函数,shell中的数组,告警系统需求分析
查看>>
df命令 、du命令 、磁盘分区
查看>>
Java并发编程:CountDownLatch、CyclicBarrier和 Semaphore
查看>>
使用JDK自带的jmap和jhat监控处于运行状态的Java进程
查看>>
App怎么免费接入聚合支付SDK?
查看>>
什么是TensorFlow?
查看>>
Web3与智能合约交互实战(附代码)
查看>>
选择日期:年月日时分秒 插件
查看>>
从零到有的突破:BCH爱好者聚集地BCH.Club公测上线
查看>>
自建容器映像登录也行?Quay整合多种进阶功能
查看>>
如何快速打造一款高清又极速的短视频APP?
查看>>
总结sqlserver2012删除语法:delete数据表中的某一项内容
查看>>
网站建设就要像2018世界杯的俄罗斯队大杀四方[图]
查看>>
118.kubectl命令用法
查看>>
药品监管系统架构揭秘:海量溯源数据存储与查询
查看>>
父传子,关于清楚子组件提交之后页面的数据
查看>>
Java 命令行交互输入库 JLine 入门
查看>>
举个栗子看如何做MySQL 内核深度优化
查看>>
asp.net 虹软 人脸识别 实现刷脸住宿、刷脸签到、刷脸进入等
查看>>
tomcat服务器输入localhost可以访问,ip无法访问解决办法
查看>>