【发布时间】:2015-12-07 19:25:54
【问题描述】:
我正在尝试在钻机的配置单元中查看名为 customers 的表。我在嵌入式模式下使用 Drill。我正在为 hive 元存储使用默认的 derby 数据库。
当我进行描述时,它会显示所有列和类型。
但是,当我执行这样的选择命令时,
select * from customers limit 10;
在 Web UI 中,这就是我得到的
org.apache.drill.common.exceptions.UserRemoteException:系统错误: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-common-2.7.1.jar:na]
最后是这个
查询失败:org.apache.drill.common.exceptions.UserRemoteException: 系统错误:堆栈溢出错误
而且,我使用的版本是:
阿帕奇钻:1.3.0
蜂巢:0.13.1-cdh5.3.0
Hadoop:2.5.0-cdh5.3.0
【问题讨论】:
-
我可以从 hive 查询同一个表,但是钻头会抛出这个错误。
-
您是从 Drill shell 还是 Drill Web UI 尝试?钻嵌入式还是集群模式?
-
我从 UI 和 shell 都试过了。他们都说,Stackoverflow 错误
-
我已经编辑了这个问题。添加了存储插件信息。
-
你能检查一下hadoop中的
/user/hive/warehouse目录吗?我希望你填写了来自hive-site.xml的所有值
标签: sql hadoop hive stack-overflow apache-drill