我正在尝试在 Athena 中创建分区表。在 S3 上,根据指南,我有以下目录结构:
aws s3 ls s3://arapbi/polygon/tickers/
PRE dt=2014-01-06/
PRE dt=2014-01-07/
PRE dt=2014-01-08/
PRE dt=2014-01-09/
PRE dt=2014-01-10/
...
每个文件夹中都有一个 csv 文件。
我尝试使用以下命令在 Athena 中创建分区表:
CREATE EXTERNAL TABLE tickers
(rownum STRING,
ticker STRING,
timestamp timestamp,
open DOUBLE,
close DOUBLE,
volume_weighted_average_price DOUBLE,
volume DOUBLE,
transactions DOUBLE,
date STRING
)
PARTITIONED BY (dt STRING)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES ("separatorChar" = ",", "escapeChar" = "\\","skip.header.line.count"="1", "serialization.null.format"="")
LOCATION 's3://arapbi/polygon/tickers';
建表成功。但是,当我查询该表时,它没有返回任何结果。
当我创建这个没有分区的表时,一切都按预期工作。有关分区的某些问题导致该表不返回任何结果。
我仍在尝试调试这个问题,但想问问是否有人以前遇到过这个问题。如果您有任何想法,请提前致谢!
事实证明
MSCK REPAIR TABLE tickers
就是它所需要的:)