Spark- SparkSQL中 Row.getLong 出现NullPointerException错误的处理方法
Posted xiaopihaierletian
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark- SparkSQL中 Row.getLong 出现NullPointerException错误的处理方法相关的知识,希望对你有一定的参考价值。
ERROR:在SparkSQL中获取Row的值,而且Row的字段允许null时,在取值的时候取到null赋值给新的变量名会报NullPointerException错误
解决:可以先用row.isNullAt(index)去判断该字段的值是否为空
具体案例如下:
首先上错误
修改为先初始化变量,判断row.isNullAt(6) 如果不为空就将值赋值给变量
从row中get值时, 经常遇到空的问题
简单总结如下:
get数值类型:如果为空, 则转化为0
判空, 建议使用row.isNullAt(index)
get字符串类型:如果为空则为null
判空建议用:StringUtils.isEmpty() (出现""的情况)
总结:获取值用getAsT
判空用row.isNullAt
以及StringUtils.isEmpty()
以上是关于Spark- SparkSQL中 Row.getLong 出现NullPointerException错误的处理方法的主要内容,如果未能解决你的问题,请参考以下文章