EMR中Presto/Trino无法查询Glue Data Catalog的Hive视图问题
EMR对接Glue Data Catalog时Presto/Trino查询Hive视图异常问题
故障基础表现
- 在EMR环境中以Glue Data Catalog作为元数据存储,使用Presto/Trino查询逻辑极简的Hive视图时持续失败,报错信息为
View not found或Hive views not supported - 前期参考Trino官方说明尝试配置legacy模式、experimental模式,试图覆盖Trino默认忽略Hive视图的行为,但配置完成后trino-server服务无法正常启动
- 待查询视图完全使用ANSI SQL编写,无特殊语法,理论上可被legacy或experimental视图模式兼容;已在多个EMR版本环境复现完全一致的故障,排除版本特异性bug影响
补充排查信息
目标视图定义
所有待查询视图仅做单表字段选取+固定日期过滤,无自定义函数、多表关联、复杂计算逻辑,DDL结构如下:
CREATE VIEW `schema`.`view` AS select `table`.`col1`, `table`.`col2`, `table`.`col3` from `schema`.`table` where table.datetime = '20220623'
配置调整进展
- Trino侧:在EMR软件配置的
trino-connector-hive分类下添加参数"hive.views-execution.enabled": "true"后,Trino已可正常读取视图,服务运行无异常 - Presto侧:已在
presto-connector-hive配置分类中添加Glue Catalog启用、视图执行启用的对应参数,但查询视图仍然失败,当前生效配置如下:
[ { "classification": "presto-connector-hive", "properties": { "hive.metastore.glue.datacatalog.enabled": "true", "hive.views-execution.enabled": "true" } } ]
待确认问题
Glue Data Catalog与Presto、EMR之间是否存在已知兼容性问题,导致Presto侧开启视图执行参数后仍无法查询简单Hive视图,对应的解决方案是什么?
内容的提问来源于stack exchange,提问作者Oliver Sepúlveda
相关产品推荐
相关产品推荐

