我有S3数据,具有GZIP
压缩。我正在尝试使用此文件在Athena中创建表,并且我的CREATE TABLE
语句成功-但是当我查询该表时,所有行都是空的。
create external table mydatabase.table1 (
date date,
week_begin_date date,
week_end_date date,
value float
)
row format delimited fields terminated by ','
stored as inputformat 'org.apache.hadoop.mapred.TextInputFormat'
outputformat 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
location 's3://my-bucket/some/path/'
我怎么能坚持要求雅典娜将我的文件读为
GZIP
? 最佳答案
虽然Athena支持TBLPROPERTIES
元数据(我们可以在CREATE TABLE
中设置属性,在 ALTER TABLE
中设置这些属性,而在 SHOW TBLPROPERTIES
中显示任何表的属性),但它不遵守TBLPROPERTIES ('compressionType'='gzip')
选项。
没有强制压缩/解压缩算法的明显方法。雅典娜尝试基于文件扩展名识别压缩。具有GZIP
后缀的.gz
文件将是可读的;没有该后缀的GZIP
文件将不会。
同样,带有.gz
后缀的未压缩文件将失败。报告的错误是
一些调查显示:
GZIP
的唯一已知方法是用.gz
后缀命名。 .gzip
,.zip
,[^.]gz
GZIP
和未压缩的文件可以在Athena表或分区中愉快地并存-压缩检测是在文件级别而非表级别进行的。 关于hive - 使用雅典娜指定压缩类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48817572/