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 解释器抛出空指针异常的主要内容,如果未能解决你的问题,请参考以下文章