我正试图在hive中看到一个名为customers的表。我在嵌入模式下使用Drill。我正在使用默认的derby数据库来进行hive Metastore。
当我进行描述时,它会显示所有列和类型。
但是,当我执行这样的选择命令时,
select * from customers limit 10;
在Web UI中,这就是我所拥有的
org.apache.drill.common.exceptions.UserRemoteException:SYSTEM ERROR:StackOverflowError
Hive插件:
{
"type": "hive",
"enabled": true,
"configProps": {
"hive.metastore.uris": "thrift://ip_address:9083",
"javax.jdo.option.ConnectionURL": "jdbc:derby:;databaseName=../sample-data/drill_hive_db;create=true",
"hive.metastore.warehouse.dir": "/user/hive/warehouse",
"fs.default.name": "file///",
"hive.metastore.sasl.enabled": "false"
}
}
日志文件中显示的错误:
org.apache.drill.exec.work.foreman.ForemanException:意外 片段初始化期间的异常:java.lang.AssertionError: 内部错误:应用规则DrillPushProjIntoScan时出错,
java.lang.StackOverflowError:null at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:355) 〜[Hadoop的共2.7.1.jar:NA]
最后,这个
查询失败:org.apache.drill.common.exceptions.UserRemoteException: SYSTEM ERROR:StackOverflowError
而且,我使用的版本是:
Apache Drill:1.3.0
Hive:0.13.1-cdh5.3.0
Hadoop:2.5.0-cdh5.3.0
答案 0 :(得分:0)
我想这是版本冲突。
根据Drill的文档:
Drill 1.0支持Hive 0.13。 Drill 1.1支持Hive 1.0。
因此,对于1.1+,你可能会遇到hive 0.13的问题。 阅读更多here。
因此,将hive升级到1.0或将钻取机降级到1.0以进行测试。