【问题标题】:Athena returns different result sets when exactly the same query is run运行完全相同的查询时,Athena 返回不同的结果集
【发布时间】:2020-05-15 07:17:45
【问题描述】:

当我在同一个数据集(s3 上完全相同的 parquet 文件)上多次运行完全相同的查询时,每次返回的结果集都略有不同。有时缺少几行或聚合数据略有偏差等。当然,查询相对复杂,有几个嵌套查询和在分区子集上运行的聚合,但我不明白为什么查询结果会有所不同。是否有我不知道的查询结果一致性类型的设置?

【问题讨论】:

  • 运行查询时,表后面的 s3 数据/分区元数据没有变化?
  • 您的 s3 数据/分区没有变化。
  • 您能否大致证明您的查询是什么样子的?)有什么区别?)
  • 我也在处理同样的问题,你已经解决了吗?
  • 不,恐怕不会。我继续用不同的方法来解决这个问题。请考虑以下 Nebulastic 的回答。通常是这样。

标签: amazon-web-services amazon-s3 amazon-athena


【解决方案1】:

有一个示例查询和示例数据布局会很有帮助。首先想到的是数据不断地附加到 parquet 文件中,但您确认不是这种情况。

如果您有很多分区,则可能是 Athena 尚未加载其中一些分区(自动)。虽然分区可能存在,但 Athena 还需要将这些分区加载到内部 Athena 数据目录中。可能是该数据目录中仍然缺少其中一些分区,因此在运行查询时未使用。结果是您的聚合略有偏差。

您可以尝试以下方法,然后再次运行查询几次,看看结果是否仍然变化:

MSCK REPAIR TABLE table_name;

更多信息可以在here找到。

【讨论】:

    猜你喜欢
    • 2016-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-27
    • 2020-03-12
    • 2011-06-24
    • 2014-09-24
    • 1970-01-01
    相关资源
    最近更新 更多