0
点赞
收藏
分享

微信扫一扫

解读华为云Kuasar多沙箱容器技术,带来更强隔离性和安全性

云竹文斋 2024-10-17 阅读 9

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

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

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

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

解决办法(可能)

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

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

举报

相关推荐

0 条评论