发布于: Oct 27, 2022
使用 EMR 6.8 上的 PrestoDB 和 Trino,用户可受益于一项称为严格模式的配置设置,防止由于查询长期运行导致的成本超支。客户告诉我们,编写不佳的 SQL 查询有时会运行很长时间,并占用其他关键业务工作负载的资源。为帮助管理员对此类查询采取措施,我们引入了严格模式设置,允许警告或拒绝某些类型的查询。例如,导致大型表扫描的对分区列执行的不含谓词的查询,或涉及两个大型表之间交叉联接的查询,以及/或无限制地对大量行进行排序的查询。您可以在创建集群时设置严格模式配置,同时使用会话属性覆盖这些设置。您可以对 select、insert、create table as select 和 explain analyze 查询类型应用严格模式检查。
同时,我们很高兴地宣布,Amazon EMR PrestoDB 和 Trino 增加了一项新功能来处理 spot 中断,可帮助您经济可靠地运行查询。与按需型实例相比,Amazon EMR 中的竞价型实例让您能够以较低的价格在闲置的 Amazon EC2 容量上运行大数据工作负载。但是,Amazon EC2 可能会通过两分钟的通知中断竞价型实例。竞价型节点一旦终止,PrestoDB/Trino 查询会失败。这意味着客户无法在竞价型实例上运行此类工作负载,也无法利用成本较低的优势。在 EMR 6.7 中,我们为 PrestoDB/Trino 引擎添加了一项新功能,用于检测 spot 中断,并确定这些节点上的现有查询能不能在两分钟内完成。如果查询无法完成,我们会快速失败,并对其他节点重试查询。Amazon EMR PrestoDB/Trino 引擎也不会对即将回收的竞价型节点安排新的查询。有了这两项新功能,您将获得两全优势:既使用 Amazon EMR 上的 PrestoDB/Trino 引擎提升了弹性,又能经济地对竞价型节点运行查询。