apache drill-slow查询

oprakyz7  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(527)

我在drill中设置了以下存储插件:

{
  "type": "hive",
  "enabled": true,
  "configProps": {
    "hive.metastore.uris": "thrift://hivemetastore.hostname.com:9083",
    "hive.metastore.sasl.enabled": "false"
  }
}

然而,一个简单的

SELECT * FROM hive.table LIMIT 5;

...

5 rows selected (35.383 seconds)
0: jdbc:drill:>

需要30多秒才能做出React。我遗漏了什么/我应该从哪里开始故障排除?
配置单元元存储服务器现在与drill相同。表中只有不到20000条记录。

5lhxktic

5lhxktic1#

只有mapr沙盒上的mapr drill应该使用您正在使用的稀疏存储插件配置。在沙盒中,事情是在封底下配置的。
嵌入式元存储服务
假设您使用的是drill安装,而不是sandbox,并且您使用的是嵌入式metastore服务(默认),configprops需要如下所示(根据文档):

"configProps": {
      "hive.metastore.uris": "",
      "javax.jdo.option.ConnectionURL": "jdbc:<database>://<host:port>/<metastore database>",
      "hive.metastore.warehouse.dir": "/tmp/drill_hive_wh",
      "fs.default.name": "file:///",
      "hive.metastore.sasl.enabled": "false"
    }

从存储插件配置中删除“hive.metastore.uris”:“thrift://:”。用于远程配置单元元存储服务。
“javax.jdo.option.connectionurl”可能是一个mysql数据库。hivemetastore服务提供对物理数据库(如mysql)的访问。mysql存储元数据。“fs.default.name”是数据所在的文件系统位置。
嵌入式metastore配置仅用于测试,不用于文档中的生产系统。为了提高性能,请配置远程元存储。另外,请检查您正在使用的配置单元版本的兼容性。开源apachedrill 1.0支持hive0.13。drill 1.1及更高版本支持hive 1.0。
远程元存储服务
如果您使用的是远程元存储,“fs.default.name”应该指向主控制节点。例如,指向namenode。如果您使用的是mapr drill,“fs.default.name”应该是maprfs://。mapr文件客户端从mapr-clusters.conf中找出cldb的位置。启动metastore服务,该服务作为一个单独的包安装在配置单元的顶部:

hive --service metastore

如果您使用的是开放源码apache drill,则远程元存储配置应该如下所示:

{
  "type": "hive",
  "enabled": true,
  "configProps": {
    "hive.metastore.uris": "thrift://mfs41.mystore:9083",
    "hive.metastore.sasl.enabled": "false",
    "fs.default.name": "maprfs://10.10.10.41/"
  }
}

相关问题