最近更新时间:2023.08.03 18:50:29
首次发布时间:2022.11.30 10:22:10
火山引擎 E-MapReduce(EMR)Presto 内置了 TPC-H、Hive、Iceberg 和 Hudi 连接器配置,如果您在安装 Presto 服务时已安装 Hive 服务,则 EMR 会自动生成对应的 Connector 配置文件。如果 Hive 服务是在 Presto 之后安装,则需要您在控制台侧手动重启 Presto 服务以触发生成 Connector 配置。
说明
EMR 只有在检测已安装 Hive 服务的前提下,才会自动生成 Hive、Iceberg 和 Hudi 的 Connector 配置文件。
内置 Connector 通常采用最小化配置,如果您需要对内置 Connector 配置进行修改,可以参考 Presto 官方文档 的 Connector 配置说明,并在 EMR 控制台“集群详情 > 服务列表 > Presto > 服务参数”中对具体 Connector 的配置进行调整。
如果内置 Connector 不能满足您的需求,EMR 也支持您在控制台侧自定义 Connector 配置。您可以在 EMR 控制台“集群详情 > 服务列表 > Presto > 服务参数”页面找到并编辑 custom-connector.properties
配置文件,通过“添加自定义参数”添加自定义 Connector 配置。
如上图所示演示了添加 MySQL Connector 的自定义配置,其中:
参数名称:目标数据源在 Presto 中的 Catalog 名称。
参数值:目标数据源的 Connector 配置,可以参考 Presto 官方文档。
Presto 支持资源组配置以限制资源的使用,尽量避免 SQL 任务因资源不足而失败,详细介绍可以参考 Presto 官方文档。
如果您希望对 Presto 资源组进行配置,可以在 EMR 控制台“集群详情 > 服务列表 > Presto > 服务参数”页面修改 resource-groups.json
配置文件的参数值(JSON 格式)。如下图所示:
Presto 支持 Hive 内置 UDF/UADF,EMR 也在安装 Presto 时默认启用了这一特性,因此可以在您的 SQL 中可以参考如下示例使用 Hive 内置的 UDF/UADF:
# hive built-in udf: SELECT hive.default.concat('f', 'b'); _col0 ------- fb (1 row) # hive built-in udaf: select hive.default.avg(nationkey) from tpch.tiny.nation; _col0 ------- 12.0 (1 row)
Presto 内置 Web UI 为查看和诊断 Presto 及其 SQL 任务的运行状态提供了有力支撑,您可以在“集群详情 > 访问链接 > 服务链接”中找到 Presto UI 的访问入口。
与此同时,EMR 也提供了服务化的 Presto UI。相较于集群内置的 Presto UI,服务化的 Presto UI 在兼容开源使用方式的同时,将 Presto 作业运行数据抽离到集群之外进行存储和展示,从而支持集群在被释放之后仍然可以对作业进行诊断。
服务化 Presto UI 默认对集群的作业运行数据提供 30 天的存储和查看支持。同时,在数据存储层面做到了租户隔离,并在访问层面集成了 IAM 准入认证,以充分保障数据的安全性。如果您希望使用服务化的 Presto UI,可以在创建集群时,在“高级设置”中启用持久化 History Server,如下图所示:
对于启用了持久化 History Server 的集群,在集群创建完成后添加安装的 Presto 服务仍然会开启服务化的 Web UI。您可以在“集群详情 > 访问链接 > 持久化 History Server”页面找到服务化 Presto UI 的访问入口,如下图所示:
Presto 服务化 Web UI 现阶段只展示已完成或失败的作业,如果您希望查看运行中的作业运行状态,仍然可以访问集群内置的 Web UI。