【发布时间】: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