所以我遇到了能够通过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让它看起来应该即插即用,但我显然缺少一些东西
答案 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配置属性。