You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Redshift Spectrum执行简单查询比Athena慢40倍以上问题排查

Redshift查询S3外部表性能远低于Athena的问题

问题现象

S3数据湖可通过Athena和Amazon Redshift查询,但执行相同逻辑的简单查询时,Redshift耗时远高于Athena。

Athena查询详情

CREATE TABLE x as (select p.anonymous_id, p.context_traits_email, p."_timestamp", p.user_id FROM foo.pages p)
  • 运行时间:24.432秒
  • 扫描数据量:111.47 MB

Redshift查询详情

create temp table x as (
select p.anonymous_id, p.context_traits_email, p."_timestamp", p.user_id
FROM external_schema.pages p
)
  • 运行时间:17分钟

数据湖与Glue配置

数据湖关联由第三方工具RudderStack维护的Glue Catalog,无爬虫,RudderStack直接将Parquet文件存入S3指定路径,并在schema变更时更新Glue Catalog。Glue表关键配置如下:

  • 存储位置:s3://{bucketname}/rudder-datalake/{schemaname}/pages
  • 输入格式:org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat
  • 输出格式:org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat
  • Serde序列化库:org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe
  • 无分区、无索引

Redshift外部Schema创建语句

create external schema if not exists external_schema
from data catalog
database 'foo'
region 'us-east-1'
iam_role 'arn:aws:iam::xxxxx';

补充信息

  • Redshift集群为单d2.large节点,查询期间CPU利用率从未超过15%,无连接、去重等复杂操作
  • 从Redshift的SVL_S3QUERY_SUMMARY视图得到的查询记录:
    • external_table_name:S3 Scan {redshiftdb}_external_schema_pages
    • 文件数:144,067
    • 分片数:144,067
    • 平均请求并行度:10

为何两者性能差异如此巨大?


内容的提问来源于stack exchange,提问作者Killerpixler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 05:15:16