Impala 外部 table 正在读取未压缩的文件但名称为 (*.csv.gz)

Impala external table reading uncompressed files but with names (*.csv.gz)

我在 hdfs 中有一个数据源,其文件未压缩,即使它们的名称以 (*.csv.gz) 结尾,并且 Impala 无法识别它们未压缩尽管名字。有没有办法在不需要更改所有当前文件名的情况下读取外部 table 中的这些文件?如果没有,更改 hdfs 中所有当前文件名的最佳做法是什么?

这是 table 的当前创建查询:

CREATE EXTERNAL TABLE db.table1(
   col1 type,
   col2 type
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\u0001'
WITH SERDEPROPERTIES ('field.delim'='\u0001', 'serialization.format'=';')
STORED AS TEXTFILE
LOCATION 'hdfs://servicename/user/directory'

当前文件名示例(它们是 tex 文件,在内容级别上未压缩):

-rw-rw-r--+ /final/file11_20210601_0000.csv.gz
-rw-rw-r--+ /final/file12_20210601_0015.csv.gz
-rw-rw-r--+ /final/file12_20210601_0045.csv.gz
-rw-rw-r--+ /final/file1_20210601_0015.csv.gz

到目前为止,我没有找到关于外部 table 属性来读取外部 table 中的“.gz”文件的方法,但我可以制作一个 shell 脚本来更改所有文件并从其末尾删除“.gz”:

for f in $(hdfs dfs -ls -t -r /user/dir/ | awk '{print }');do
  v=$(echo "$f" | cut -d'.' -f1,2)
  hdfs dfs -mv "$f" "$v"
done

但我仍然对直接在外部读取 .gz 文件的解决方案持开放态度 table。