AWS EMR Presto 未使用 AWS Glue 找到正确的 Hive 模式
AWS EMR Presto not finding correct Hive schemas using AWS Glue
所以我无法通过 AWS EMR 执行 Presto 查询。
我已经启动了 EMR 运行ning hive/presto 并使用 AWS Glue 作为 Metastore。
当我通过 SSH 连接到主节点和 运行 配置单元时,我可以 运行 "show schemas;" 它向我展示了我们在 AWS Glue 上拥有的 3 个不同的数据库。
如果我随后进入 Presto CLI 和 运行 "show schemas on hive" 我只会看到两个 "default" 和 "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 看起来这应该是即插即用的,但我显然遗漏了一些东西
从 Amazon EMR 发布版本 5.10.0 开始,您可以。简单的,将hive.metastore.glue.datacatalog.enabled 属性设置为true,如下:
[
{
"Classification": "presto-connector-hive",
"Properties": {
"hive.metastore.glue.datacatalog.enabled": "true"
}
}
]
Optionally, you can manually set
hive.metastore.glue.datacatalog.enabled=true
in the
/etc/presto/conf/catalog/hive.properties
file on the master node. If
you use this method, make sure that
hive.table-statistics-enabled=false
in the properties file is set
because the Data Catalog does not support Hive table and partition
statistics. If you change the value on a long-running cluster to
switch metastores, you must restart the Presto server on the master
node (sudo restart presto-server
).
来源:
AWS Docs
看来这个问题已经在 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
最新的 0.198 版 Presto 现在支持 AWS Glue 作为元数据源。
Add support for using AWS Glue as the metastore. Enable it by setting
the hive.metastore config property to glue.
所以我无法通过 AWS EMR 执行 Presto 查询。
我已经启动了 EMR 运行ning hive/presto 并使用 AWS Glue 作为 Metastore。
当我通过 SSH 连接到主节点和 运行 配置单元时,我可以 运行 "show schemas;" 它向我展示了我们在 AWS Glue 上拥有的 3 个不同的数据库。
如果我随后进入 Presto CLI 和 运行 "show schemas on hive" 我只会看到两个 "default" 和 "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 看起来这应该是即插即用的,但我显然遗漏了一些东西
从 Amazon EMR 发布版本 5.10.0 开始,您可以。简单的,将hive.metastore.glue.datacatalog.enabled 属性设置为true,如下:
[
{
"Classification": "presto-connector-hive",
"Properties": {
"hive.metastore.glue.datacatalog.enabled": "true"
}
}
]
Optionally, you can manually set
hive.metastore.glue.datacatalog.enabled=true
in the/etc/presto/conf/catalog/hive.properties
file on the master node. If you use this method, make sure thathive.table-statistics-enabled=false
in the properties file is set because the Data Catalog does not support Hive table and partition statistics. If you change the value on a long-running cluster to switch metastores, you must restart the Presto server on the master node (sudo restart presto-server
).
来源: AWS Docs
看来这个问题已经在 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
最新的 0.198 版 Presto 现在支持 AWS Glue 作为元数据源。
Add support for using AWS Glue as the metastore. Enable it by setting the hive.metastore config property to glue.