Prestodb (AWS EMR) 加载分区元数据

Posted

技术标签:

【中文标题】Prestodb (AWS EMR) 加载分区元数据【英文标题】:Prestodb (AWS EMR) load partition metadata 【发布时间】:2021-03-07 15:51:08 【问题描述】:

我有带有 Prestodb v. 0.238.3 的 AWS EMR 集群 一切都很好,除了一件事 - 当我调用一个函数来收集分区数据时,它总是失败。我尝试通过 Datagrip(+ jdbc 驱动程序)和集群主节点上的 presto-cli 执行此命令 - 没有区别

CALL system.metadata.sync_partition_metadata('test', 'table_test', 'FULL')

[29] Query failed (#20201124_193910_00688_37bpw): 
Procedure not registered: system.sync_partition_metadata com.facebook.presto.spi.PrestoException: 
Procedure not registered: system.sync_partition_metadata

我做错了什么?

【问题讨论】:

【参考方案1】:

该功能从 Presto 304 开始可用:https://trino.io/docs/current/release/release-304.html?highlight=sync_partition_metadata#hive-connector-changes

文档可在此处获得:https://trino.io/docs/current/connector/hive.html?highlight=sync_partition_metadata#procedures

在 EMR 中,它适用于 EMR 版本 6.1.0,其中包括 Presto 338:

https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-release-6x.html

【讨论】:

非常感谢。看来我对 Presto 和 PrestoSQL 感到困惑。 EMR 6.1 具有 Presto 0.232,而 EMR 5.31(我正在使用)具有 Presto 0.238.3。我找到了您提供的文档链接,并看到了该程序的发布日期 - 2019 年 2 月 19 日。【参考方案2】:

PrestoDB 从 0.241 版本开始提供此功能。

您可以使用更高版本的 PrestoDB 引导您的 EMR,也可以使用像 https://ahana.io/ahana-cloud/ 这样的托管服务

文档:https://prestodb.io/docs/current/connector/hive.html#procedures

【讨论】:

以上是关于Prestodb (AWS EMR) 加载分区元数据的主要内容,如果未能解决你的问题,请参考以下文章

从 S3 加载 AWS EMR

为啥 AWS EMR 上的 Spark 不从应用程序 fat jar 加载类?

AWS EMR Spark 未使用自定义 Jar 加载 MainClass

sql 雅典娜解析日期时间#AWS #Athena #Prestodb

尝试在 AWS EMR 中获得 GPU 支持时出现错误“一个 NVIDIA 内核模块 'nvidia' 似乎已加载到您的内核中”

使用 AWS Athena 或 PrestoDB 正则表达式函数提取字符串