【问题标题】:AWS Athena query hanging and re-reading data for huge query sizesAWS Athena 查询挂起和重新读取大量查询大小的数据
【发布时间】:2018-03-02 00:21:23
【问题描述】:

我在 Athena 中的 S3 存储桶中设置了一个新日志表,如下所示,其中 Athena 位于 BucketName/ 之上

我有一个运行良好的 Athena 系统,它基于相同的数据,但没有下面列出的子目录结构。现在有了这个新的子目录结构,当我执行select * from table_name limit 100 时,我可以看到数据正确显示,但是当我执行count(x) by week 之类的操作时,查询挂起。

GZipped 文件夹中 S3 中的数据不超过 100GB,但查询挂起超过 20 分钟,并说扫描了 6.5TB,这听起来像是在循环和扫描相同的数据。我的猜测是它与这个目录结构有关,但从我在其他线程中看到的情况来看,Athena 应该能够通过指向基本文件夹 BucketName/

来解析子目录

BucketName | | |---Year(2016) | | | |---Month(11) | | | | | |---Daily File Format YYYY-MM-DD-Data000.gz

任何建议将不胜感激!

创建表 DDL

CREATE EXTERNAL TABLEtest_table( foo1string, foo2string, foo3string, datestring, ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' MAP KEYS TERMINATED BY '\u0003' WITH SERDEPROPERTIES ( 'collection.delim'='\u0002') STORED AS INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION 's3://Listen_Data/2018/01' TBLPROPERTIES ( 'has_encrypted_data'='false', )

【问题讨论】:

  • 请输入整个查询以便更好地理解。
  • 谢谢@Dhaval,问题与查询无关,任何查询都会发生。我很确定它与 S3 目录结构有关,并且正在寻找如何通过更改 Athena 配置来解决问题,以便能够将年/月文件夹中的不同每日文件作为一个数据库进行扫描。

标签: amazon-web-services amazon-athena


【解决方案1】:

通过添加修复

PARTITIONED BY ( `year` string, `month` string)

在 DDL 语句中的架构定义之后。

【讨论】:

    猜你喜欢
    • 2019-08-12
    • 1970-01-01
    • 2019-09-16
    • 2021-10-18
    • 1970-01-01
    • 2020-06-16
    • 1970-01-01
    • 2020-05-16
    • 2018-09-25
    相关资源
    最近更新 更多