【问题标题】:S3 Query Exception (Fetch)S3 查询异常(获取)
【发布时间】:2018-12-10 12:42:43
【问题描述】:

我已经以 Parquet 格式将数据从 Redshift 上传到 S3,并在 Glue 中创建了数据目录。我已经能够从 Athena 查询表,但是当我在 Redshift 上创建外部模式并尝试在表上查询时,我收到以下错误

ERROR:  S3 Query Exception (Fetch)
DETAIL:
  -----------------------------------------------
  error:  S3 Query Exception (Fetch)
  code:      15001
  context:   Task failed due to an internal error. File 'https://s3-eu-west-1.amazonaws.com/bucket/folder/partition_key/filename.parquet_1  has an incompatible Parquet schema for column 's3://bucket/folder
  query:     560922
  location:  dory_util.cpp:717
  process:   query1_118_560922 [pid=32409]
  -----------------------------------------------

查询在 Athena 中运行良好

【问题讨论】:

    标签: amazon-redshift amazon-athena amazon-redshift-spectrum


    【解决方案1】:

    它可以告诉您出了什么问题 - 表/分区的架构和文件内容差异太大。解决此问题的最简单方法是在数据位置上运行爬虫并选中“从表中更新每个分区定义”。

    【讨论】:

      【解决方案2】:

      我以前也遇到过这种情况。 Athena 似乎不像 Redshift 那样严格检查文件架构。

      每个 parquet 文件中都有一个模式定义。如果文件中的架构定义与表定义不匹配或与一个或多个其他文件不同,则 Redshift 查询将失败,而如果受影响的列不在查询中,则 Athena 查询可能会成功。

      【讨论】:

        猜你喜欢
        • 2022-06-16
        • 2011-08-04
        • 1970-01-01
        • 2023-02-15
        • 2023-02-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-01-11
        相关资源
        最近更新 更多