如何在aws athena中查询不带.gz扩展名的gz文件?

时间:2018-11-08 10:44:40

标签: amazon-web-services amazon-athena

我们在s3保存了许多GZ日志文件。

我们想使用Athena Athena查询它们。

我正在使用正则表达式cerde来查询此文件

此问题是:

以.gz扩展名结尾的文件已正确放置到查询中 但是未以.gz结尾的文件(但它们是gzip文件)未正确加载 文件名,例如:

  

s3://athena-examples/11/04/server016.log.gz.20181104_230001

所以我的问题是:

如何在不扩展.gz的情况下查询gz文件?

(我无法重命名所有文件。)

创建tbl方案就像:

    CREATE EXTERNAL TABLE IF NOT EXISTS elb_logs_raw_native_part (
  request_timestamp string, 
  elb_name string, 
  request_ip string, 
  request_port int, 
  backend_ip string, 
  backend_port int, 
  request_processing_time double, 
  backend_processing_time double, 
  client_response_time double, 
  elb_response_code string, 
  backend_response_code string, 
  received_bytes bigint, 
  sent_bytes bigint, 
  request_verb string, 
  url string, 
  protocol string, 
  user_agent string, 
  ssl_cipher string, 
  ssl_protocol string ) 
PARTITIONED BY(year string, month string, day string)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.RegexSerDe'
WITH SERDEPROPERTIES (
         'serialization.format' = '1','input.regex' = '([^ ]*) ([^ ]*) ([^ ]*):([0-9]*) ([^ ]*)[:\-]([0-9]*) ([-.0-9]*) ([-.0-9]*) ([-.0-9]*) (|[-0-9]*) (-|[-0-9]*) ([-0-9]*) ([-0-9]*) \\\"([^ ]*) ([^ ]*) (- |[^ ]*)\\\" (\"[^\"]*\") ([A-Z0-9-]+) ([A-Za-z0-9.-]*)$' )
LOCATION 's3://athena-examples';

0 个答案:

没有答案