我想解决一个在 Amazon Athena 中运行时间过长或超时的 MSCK REPAIR TABLE 命令。
当您运行 MSCK REPAIR TABLE 命令时,Athena 会在 Amazon Simple Storage Service(Amazon S3)中列出前缀和对象。如果 Amazon S3 前缀或对象过多,则该命令需要很长时间才能运行或超时并出现错误。
要解决此问题,请使用下面其中一种方法:
使用 Athena 分区投影在内存中生成分区。无需将分区添加到 AWS Glue Data Catalog 或从 Data Catalog 中检索它们。Athena 计算表的值,而不是扫描大量分区。此外,分区投影根据配置而不是从 AWS Glue Data Catalog 等存储库计算值和位置。
要使用 AWS Glue 爬网程序向 Athena 表添加分区,请完成以下步骤:
有关更多信息,请参阅 How crawlers work 和 Incremental crawls for adding new partitions in AWS Glue。
要使用 Athena DDL 语句加载分区,请完成下面的步骤:
为什么我的 Athena 查询运行时间很长?
Creating tables, updating schema, and adding new partitions in the Data Catalog from AWS Glue ETL jobs
AWS Glue 定价