从GZIP读取的Hive表包含第一行中的文件名等元信息

时间:2014-11-19 17:10:46

标签: hadoop hive

我在hive中创建了一个指向gzip文件的外部表

create external table IF NOT EXISTS raw_CN (
column1                        string,
column2                       string,
column3            string,
column4       string,
column5            string,
column6          string,
column7            string,
column8           string,
column9                        string,
column10        string

)    PARTITIONED BY(day_id string,file_type string)    行格式分隔的字段由' |'终止    存储为文本文件;

添加了分区:

Alter table raw_CN add partition (day_id = '20140815' , file_type = 'Daily' ) location    '/mapr/mapr.cluster/CN/20140501/Daily';

将gzip文件放在上面的位置

但是当我查询表时,第一行也给了我一些文件级信息(文件中没有标题)。如何从第一行解决此问题(其余行正常):

Vendor1_617_CN_Daily.201408150000664000202600020260243475554512373676764017202 0ustar  fworksfworks4F06C1A123456|82910|26|ESPN2|ESPN2|2014/08/15 01:09:42|2014/08/15     01:10:13|233|53066|Jefferson-Walworth (Jefferson), WI
123456|82910|8|WMLW|WMLW|2014/08/15 03:16:53||233|53066|Jefferson-Walworth (Jefferson), WI
123456|82910|3|WITI|WITI|2014/08/15 14:34:13|2014/08/15 14:35:20|233|53066|Jefferson-Walworth (Jefferson), WI
123456|82910|43|HGTV|Home & Garden Television (East)|2014/08/15 14:35:20|2014/08/15 14:37:00|233|53066|Jefferson-Walworth (Jefferson), WI

1 个答案:

答案 0 :(得分:1)

这取决于您使用的Hive版本。

适用于Hive版本13及更高版本:

您可以在创建表时使用表属性tblproperties ("skip.header.line.count"="1")。所以它会跳过那些没有行。

适用于Hive版本12及以下版本:

您需要手动删除行/标题或使用一些shell / python脚本。

希望它有所帮助...... !!!