我一直在尝试使用 EMR 上的 Glue Data Catalog 和 Presto/Trino 查询一些非常简单的 Hive 视图,但没有成功。 错误是“未找到视图”或“不支持 Hive 视图”。我尝试使用旧版和实验版配置 Trino(如本文档中所述),但是当我覆盖 Trino 中的默认行为(即忽略视图)时,trino-server 服务无法启动。
我尝试阅读的视图非常简单,它们应该受到遗留或实验模式的支持,而且它们定义的语言是 ANSI SQL。
数据目录和 Presto 之间是否存在已知的不兼容性?或者也许有电子病历(EMR)?我知道问题不在于版本,因为我已经使用了多个版本来测试此行为,而且总是相同的问题。
更新 -> 我从 Hive 收到的创建视图语句对于我的所有视图都是这样的,仅使用 ANSI SQL:
CREATE VIEW `schema`.`view` AS
select
`table`.`col1`,
`table`.`col2`,
`table`.`col3`
from
`schema`.`table`
where
table.datetime = '20220623'
更新 -> 在
trino-connector-hive
"hive.views-execution.enabled": "true"
下的 EMR 软件设置中应用此配置后,我能够使用 Trino 读取视图,但我仍然无法使用 Presto 查询视图
[
{
"classification": "presto-connector-hive",
"properties": {
"hive.metastore.glue.datacatalog.enabled": "true",
"hive.views-execution.enabled": "true"
}
}
]
这方面有什么更新吗?从 Presto 查询 Hive 视图的解决方法是什么