设为首页 加入收藏

TOP

Pyspark将数据写入Hbase产生java.lang.NullPointerException“空指针”错误
2019-05-02 01:49:07 】 浏览:75
Tags:Pyspark 数据 写入 Hbase 产生 java.lang.NullPointerException 指针 错误

操作系统:Windows 10

jdk版本:1.8.0_181

scala版本:2.11.8

zookeeper版本:hbase自带zookeeper

hadoop版本:2.7.5

spark版本:2.3.0

hbase版本:1.4.0


出现问题:

使用pycharm下编写的通过Pyspark将rdd数据写入hbase产生了空指针的问题。最奇怪的是,这个环境读取Hbase的数据完全没问题,但是写入就会产生空指针。
这里写图片描述


解决办法:

我使用的Hbase1.4.0、spark版本是2.3.0。读取Hbase的数据需要将hbase的依赖包导入到spark中(使用Pyspark读取hbase不会的可以参考我的上一篇文章)考虑可能是Hbase版本升级后依赖包内存在接口修改,导致无法使用。

解决方式将Hbase降级使用1.1.2低版本并且把所有hbase开头的依赖包hbase-*.jar全部导入到spark目录下的jars目录里,另外还需要下载一个spark-examples_2.11-1.6.0-typesafe-001.jar
由于apache这类项目更新快,jar版本控制严格,不像使用scala可以通过maven进行版本控制,python的话就会很费劲,事了很多次最后使用低版本的依赖包就可以解决写入空指针的问题。

在这附一个官方测试用例的地址,大家可以跑跑看:
hbase_outputformat.py

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇【HBase】20-HBase与MapReduce集成 下一篇Hbase命令行下无法使用删除键

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目