Apache Drill-Hive集成:Drill不列出表

时间:2018-10-24 16:47:50

标签: apache hive apache-drill

我一直在尝试使用Hive存储插件配置将Apache Drill与Hive集成。我为存储插件配置了所需的所有必需属性。在Drill Shell上,我可以使用以下命令查看Hive数据库:

Show Databases;

但是当我尝试使用以下方法列出表时:

Show Tables;

我没有结果(没有表列表)。

以下是我从Apache Drill文档和其他来源执行的步骤:

  1. 我通过在所有节点上使用相同的集群ID以及端口的ZK IP更新 drill-override.conf 来创建Drill分布式集群,然后在每个节点上调用drillbit.sh。
  2. 使用 drill-conf 启动Drill外壳程序,确保Hive Metastore服务也处于活动状态。

以下是在Hive Storage Drill中进行的配置(来自其Web-UI):

{
  "type": "hive",
  "configProps": {
    "hive.metastore.uris": "thrift://node02.cluster.com:9083",
    "javax.jdo.option.ConnectionURL": "jdbc:mysql://node02.cluster.com/hive",
    "hive.metastore.warehouse.dir": "/apps/hive/warehouse",
    "fs.default.name": "hdfs://node01.cluster.com:8020",
    "hive.metastore.sasl.enabled": "false"
  },
  "enabled": true
}

所有属性均在引用 hive-site.xml

之后设置

因此,这就是所有其他人将Drill与Hive集成的全部工作。我在这里想念什么吗?

关于版本- 演练:1.14,Hive:1.2(Hive Metastore:MySQL) 我们在同一节点上也有Hive Server2,这会引起任何问题吗? 我只想将Drill与Hive 1.2集成在一起,我做对了吗? 任何指针都会有所帮助,已经花费了将近2天的时间才能正确处理。 感谢您的宝贵时间。

1 个答案:

答案 0 :(得分:3)

从Drill 1.13版本开始Drill利用Hive客户端2.3.2版本。 建议使用Hive 2.3版本,以避免出现不可预测的问题。

关于您的设置,请删除除configProps以外的所有hive.metastore.uris。 其他配置可以是默认配置(位于HiveConf.java中),也可以在您的hive-site.xml中指定。

如果在使用Show Tables;之后仍然为空,即使执行了use hive后,如果结果为空,请检查Drill日志文件中的错误。如果出现错误,则可以创建Jira故障单以改善Drill的输出以反映该问题。