【报错处理】MR/Spark 使用 BulkLoad 方式传输到 HBase 发生报错: NullPointerException

博主希望能够得到大家的点赞收藏支持!非常感谢

点赞,收藏是情分,不点是本分。祝你身体健康,事事顺心!

Spark 通过 BulkLoad 方式传输到 HBase,我发现会出现空指针异常。简单写下如何解决的。

原理 :首先简单介绍一下什么是 BulkLoad,BulkLoad 是传输到 HBase 的一种传输方式,不是直接在 HBase 里写入数据,这会给HBase增加压力,而是使用 MR/Spark 等先生成 HFile,再批量加载到 HBase,减少 HBase 压力。

问题 :我的 BulkLoad 数据传输任务,突然报错了,空指针异常。Serious Problem,NullPointerException

排查 :我开始以为是 rowkey 是 null,或 rowkey 重复?排查后发现都不是,甚至数据都跟前一天一样,而前一天的成功了,今天的重试了也不行。

解决办法(可能)

sql 复制代码
-- 对所有可能的字段使用 coalesce 函数处理, 处理可能的 null 数据
coalesce(fielda, '')

可能是 BulkLoad 方式生成的 HFile 对空值的处理不够好,会出现这种报错,所以我们的方法就是解决可能出现的空值,改为空字符串等。

最后,我是及未来,祝你变得更强!!

相关推荐
PersistJiao3 小时前
Spark 分布式计算中网络传输和序列化的关系(二)
大数据·网络·spark·序列化·分布式计算
PersistJiao7 小时前
Spark RDD 的宽依赖和窄依赖
spark·rdd·宽窄依赖
那一抹阳光多灿烂8 小时前
Spark中的Stage概念
大数据·spark
lisacumt14 小时前
【spark】pycharm 内使用pyspark连接有kerberos集群执行sql
python·pycharm·spark
心死翼未伤14 小时前
python从入门到精通:pyspark实战分析
开发语言·数据结构·python·spark·json
PersistJiao1 天前
Spark RDD sortBy算子执行时进行数据 “采样”是什么意思?
spark·sortby·rangepartition
goTsHgo1 天前
在Spark Streaming中简单实现实时用户画像系统
大数据·分布式·spark
PersistJiao1 天前
Spark RDD(弹性分布式数据集)的深度理解
大数据·分布式·spark·rdd
那一抹阳光多灿烂1 天前
Spark核心组件解析:Executor、RDD与缓存优化
hadoop·spark
闲人编程1 天前
Spark使用过程中的 15 个常见问题、详细解决方案
python·ajax·spark·解决方案·调度·作业