Zeppelin 的 Hive 解释器抛出空指针异常

Posted

技术标签:

【中文标题】Zeppelin 的 Hive 解释器抛出空指针异常【英文标题】:Zeppelin's Hive interpreter throws null pointer exception 【发布时间】:2016-01-21 14:12:37 【问题描述】:

我正在使用从 https://github.com/apache/incubator-zeppelin 克隆的 zeppelin。

Hive:版本 1.2.1 Hive 配置为独立模式,metastore_db 由 Derby 处理。

我在 zeppelin notebook 中有一个正确设置的 Hive 解释器。

我已经成功地从 hive 解释器创建了一个表,如下所示

%hive
CREATE TABLE 30SEC(
id bigint,
obu_id varchar(100),
obu_make varchar(100),
)ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TextFile

我从 hdfs 的文本文件中成功加载了数据

%hive
load data 
inpath "/path/to/file"
into table 30sec

当我运行没有聚合函数的查询时,它工作正常,

但是如果查询包含聚合函数,Hive 解释器会抛出空指针异常

如果我错过了任何重要的配置,请帮助我。

【问题讨论】:

【参考方案1】:

已在https://issues.apache.org/jira/browse/ZEPPELIN-629 提交了一个错误

提交 https://github.com/vgmartinez/incubator-zeppelin/commit/05fa23f8c5112b4e60d0ff1685565af31e5e8a44 修复了该问题。

感谢 Zeppelin 社区的快速行动。

【讨论】:

【参考方案2】:

使用聚合函数时,需要分组。 请更正后重试

selectobu_id,count(1) fromm 30sec group by obu_id

【讨论】:

谢谢瑜伽.. 是的,我尝试了正确的查询 selectobu_id,count(1) fromm 30sec group byobu_id,但抛出了相同的空指针异常。我怀疑 Derby metastore_db 一次只允许一个连接的能力。 只是添加了一些我的观察结果.. * 创建了一个表并将值从 Hive 命令行解释器插入到表中。 * 使用聚合函数选择查询似乎工作得刚刚好。因此,问题可能出在 zeppelin 包附带的配置单元解释器上。 感谢您的信息。我在使用 HDP 2.3 打包的 zeppelin 上进行了测试。效果很好。如果需要,请试一试。

以上是关于Zeppelin 的 Hive 解释器抛出空指针异常的主要内容,如果未能解决你的问题,请参考以下文章

赋值操作期间未抛出空指针异常

mockito抛出空指针创建一个模拟对象时问题,怎么解决

HashCode 抛出空指针异常

JSONObject 创建抛出空指针异常

为啥非空列表会抛出空指针异常?

Android Canvas drawcolor 抛出空指针异常