【报错处理】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 对空值的处理不够好,会出现这种报错,所以我们的方法就是解决可能出现的空值,改为空字符串等。

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

相关推荐
2601_960906723 小时前
地球或逃逸到相对安全的日心轨道
kafka·hbase·flume·storm
用户3610588626128 小时前
Spark 核心之任务调度角色划分以及资源调度角色划分详解
大数据·spark
用户3610588626121 天前
Spark 核心之 Stage 并行度划分及优化详解
spark
用户3610588626121 天前
Spark 核心之 Stage 切分划分与计算模式详解
spark
用户3610588626122 天前
Spark 核心之 RDD 窄依赖与宽依赖详解
spark
用户3610588626122 天前
Spark 核心之 Stage 和 Task 原理剖析
spark
java1234_小锋2 天前
【免费】基于Spark实时医疗健康数据监测与疾病预测系统(Java版本+可视化大屏+Kafka+SpringBoot+Vue3) 锋哥原创出品,必属精品
大数据·spark·kafka·实时医疗健康数据监测·实时疾病预测系统
腾讯云大数据2 天前
腾讯云智能数据湖计算AI DLC发布会回顾:Spark+Ray一体化,面向Agent重构数据底座
人工智能·spark·腾讯云
用户3610588626123 天前
Spark 核心之 Application 和 Job 原理剖析
spark