【问题标题】:Athena not collecting results for a portion of files in Amazon S3Athena 未收集 Amazon S3 中部分文件的结果
【发布时间】:2021-10-29 03:18:01
【问题描述】:

我试图在这里/在线找到类似的问题,但没有找到。

我让 Athena 指向 Amazon S3 中的一个文件夹,该文件夹本身包含文件夹/分区,每个文件夹/分区内部都有一个 .tsv(例如s3://my_bucket/partition/file.tsv)。 Athena 能够收集存储桶中大部分文件的结果,但不能收集少数文件的结果。

我已经运行了修复代码 (MSCK REPAIR TABLE) 并检查了胶水以确保它看到了分区(确实如此)。我还查看了亚马逊知识中心 (https://aws.amazon.com/premiumsupport/knowledge-center/athena-empty-results/)。不确定还有什么可能导致该问题。

【问题讨论】:

  • 很难说。当我将数据从 Impala 移动到 Athena 时,曾经发生过这种情况。存储桶是在 S3 中创建的,但不正确。我从头开始,它奏效了。我这么说是因为我还必须运行MSCK REPAIR TABLE。我在 2 分钟后终止了迁移过程(因为这是一个测试),这导致存储桶不一致。也许如果你详细描述你的步骤,那么最好推理一下。
  • 您能否将“坏”文件移动到其他位置以查看它是否有效?有多少个分区?
  • 请提供表格 DDL (CREATE TABLE ...) 和来自 S3 的示例清单。

标签: amazon-web-services amazon-athena


【解决方案1】:

事实证明,表的列(从 API 中提取)对于不工作的文件的顺序不同。在不同的字段上运行查询提供了结果。解决方案是在从 API 收集数据后强制列的顺序保持一致。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-04
    • 2020-06-21
    • 2019-03-11
    • 1970-01-01
    • 2019-12-02
    • 2018-03-14
    • 1970-01-01
    • 2018-01-09
    相关资源
    最近更新 更多