小编ant*_*vic的帖子

将数据加载到Hive时如何指定输入文件格式

我正在尝试将数据从Gzip存档加载到Hive表中,但我的gzip文件具有扩展名,例如:

apache_log.gz_localhost

当我指定这些文件所在的HDFS目录位置时,Hive无法识别GZip压缩文件,因为它正在搜索扩展名为.gz的文件.

将数据加载到Hive时是否可以定义文件类型?像(PSEUDO)的东西:

set input.format = gzip;

LOAD DATA INPATH/tmp/logs/INTO TABLE apache_logs;

这是我创建表的SQL:

CREATE EXTERNAL TABLE access_logs (
`ip`                STRING,
`time_local`        STRING,
`method`            STRING,
`request_uri`       STRING,
`protocol`          STRING,
`status`            STRING,
`bytes_sent`        STRING,
`referer`           STRING,
`useragent`         STRING,
`bytes_received`    STRING
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.RegexSerDe'
WITH SERDEPROPERTIES (
'input.regex'='^(\\S+) \\S+ \\S+ \\[([^\\[]+)\\] "(\\w+) (\\S+) (\\S+)" (\\d+) (\\d+|\-) "([^"]+)" "([^"]+)".* (\\d+)'
)
STORED AS TEXTFILE
LOCATION '/tmp/logs/';
Run Code Online (Sandbox Code Playgroud)

hadoop hive

5
推荐指数
1
解决办法
6397
查看次数

标签 统计

hadoop ×1

hive ×1