使用hive时,有时候会碰到数据源是csv格式的文本。如果直接加载进hive,也会把csv的表头【schema】添加到hive中,形成脏数据。解决办法如下:
参数项
hive 0.13版本新特性:
tblproperties(
"skip.header.line.count"="n", -- 跳过文件前n行
"skip.footer.line.count"="n" -- 跳过文件后n行
)
直接在建表时指定上述参数项,例如:
示例
CREATE EXTERNAL TABLE IF NOT EXISTS demo(
id string,
name string comment '姓名'
)
comment '测试表'
row format delimited fields terminated by ','--逗号分隔
tblproperties("skip.header.line.count"="1") --跳过文件行第一1行
数据的加载要是用load的方式,如果直接把数据拷贝到外部表的目录下,不生效的,切记。