android教程 acm linq javafx optimization lua sqlalchemy emacs alertifyjs jquery循环遍历 oracle取第一条数据 kafka学习 python中sort函数 python3正则表达式 python开发工具 python怎么配置环境 python字符串匹配 搭建java环境 学java基础 java网课 微信签名一句话至自己 网络文件服务器 c4d挤压 子节点 草图大师版本转换器 php随机数函数 虚拟声卡驱动 非凡资源搜索器 键盘打字手指口诀 cdr怎么导出图片 sprutcam 大数据就业方向 机械键盘光轴 ps二寸照片制作教程 思源字体打包 强制换行快捷键 scatter函数 俄罗斯方块java kb835221 stylist
当前位置: 首页 > 学习教程  > 编程语言

Spark DF:关于Row中的数值获取问题

2020/10/8 19:13:08 文章标签:

//json文件 //{"page_id":"87","pay_category_ids":"99","pay_product_ids":"96","city_id":5} //{"pay_category_ids":"74","city_id":0} val df sparkSession.read.…

//json文件
//{"page_id":"87","pay_category_ids":"99","pay_product_ids":"96","city_id":5}
//{"pay_category_ids":"74","city_id":0} 
val df = sparkSession.read.json("./src/data/test")
df.show()
df.rdd.foreach(row => {
    println("getAs: "+row.getAs[String]("page_id"))
    println("isNull: "+row.isNullAt(1))  //
    val tp = row.getAs[String]("page_id")
    println("==Null:",tp == null)
    println("getLong:", row.getString(1))
   })

突然想起之前项目中有些许问题未处理
今天研究一番
从row中get值时, 经常遇到空的问题
简单总结如下:
get数值类型:如果为空, 则转化为0
判空, 建议使用row.isNullAt(index)

get字符串类型:如果为空则为null
判空建议用:StringUtils.isEmpty() (出现""的情况)

总结:获取值用getAsT
判空用row.isNullAt
以及StringUtils.isEmpty()


本文链接: http://www.dtmao.cc/news_show_250122.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?