答案 0 :(得分:0)
您无法查询tarball。 Athena需要gzip压缩文件或未压缩文本文件。其他选项是ORC或镶木地板文件。您需要解压缩文件并创建一个只包含.txt的gzip文件。
答案 1 :(得分:0)
您可以直接在AWS Athena中查询.gz格式的文件以及任何平面文件。如果您的tar文件包含多个.gz文件,并且它们具有相同的文件格式,那么您不需要将它们压缩到.tsv。
因为您已经转换为.tsv文件,请确保将相同格式的文件放入文件夹,例如 S3://bucketname/folder/file1.gz S3://bucketname/folder/file2.gz
等。 file1和file2应该具有相同的结构。
然后在此基础上定义您的AWS Athena表。下面的示例脚本 -
CREATE EXTERNAL TABLE table_name (
yr INT,
quarter INT,
month INT,
dayofmonth INT,
dayofweek INT,
flightdate STRING
)
PARTITIONED BY (year STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
ESCAPED BY '\\'
LINES TERMINATED BY '\n'
LOCATION 's3://bucketname/folder/';
保持同类文件不是强制性的,但建议您在同一文件夹下添加删除文件,并在每次更改时更新分区信息。
每次将新分区添加到此表时,运行MSCK REPAIR TABLE以刷新分区元数据。
MSCK REPAIR TABLE table_name ;
参考 - https://docs.aws.amazon.com/athena/latest/ug/lazy-simple-serde.html#tsv-example