AWS EMR Presto未使用AWS Glue查找正确的Hive架构

时间:2017-10-12 19:58:40

标签: amazon-web-services hive emr presto

所以我遇到了能够通过AWS EMR执行Presto查询的问题。

我已经推出了一个运行hive / presto的EMR并使用AWS Glue作为Metastore。

当我通过SSH连接到主节点并运行配置单元时,我可以运行" show schemas;"它向我展示了我们在AWS Glue上拥有的3个不同的数据库。

如果我然后进入Presto CLI并运行"在hive上显示模式"我只看到两个"默认"和" information_schema"

对于我的生活,我无法弄清楚为什么presto无法看到相同的Hive架构。

它主要是使用默认设置在EMR上启动的基本默认群集。

有人能指出我应该寻找的方向吗?我检查了hive.properties文件,看起来不错,我只是不知道为什么presto无法看到与hive相同的信息。

我有以下配置集

[{"classification":"hive-site", "properties":{"hive.metastore.client.factory.class":"com.amazonaws.glue.catalog.metastore.AWSGlueDataCatalogHiveClientFactory"}, "configurations":[]}]

AWS文档http://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hive-metastore-glue.html让它看起来应该即插即用,但我显然缺少一些东西

3 个答案:

答案 0 :(得分:1)

Amazon EMR版本5.10.0 开始,您可以。只需将hive.metastore.glue.datacatalog.enabled属性设置为true,如下所示:

[
  {
    "Classification": "presto-connector-hive",
    "Properties": {
      "hive.metastore.glue.datacatalog.enabled": "true"
    }
  }
]
  

您可以选择手动设置   hive.metastore.glue.datacatalog.enabled=true在   主节点上的/etc/presto/conf/catalog/hive.properties文件。如果   你使用这种方法,确保   已设置属性文件中的hive.table-statistics-enabled=false   因为数据目录不支持Hive表和分区   统计。如果将长时间运行的群集上的值更改为   切换元数据,必须重新启动主服务器上的Presto服务器   节点(sudo restart presto-server)。

<强>来源AWS Docs

答案 1 :(得分:1)

看起来这已经在emr-5.10中解决了。您想添加以下配置:

{"Classification":"presto-connector-hive","Properties":{"hive.metastore.glue.datacatalog.enabled": "true"}}

来源:https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-presto-glue.html

答案 2 :(得分:0)

Presto最近的0.198版本现在支持AWS Glue作为元数据源。

  

添加对使用AWS Glue作为Metastore的支持。通过设置启用它   要粘贴的hive.metastore配置属性。

     

https://prestodb.io/docs/current/release/release-0.198.html