大家都知道,hive是通过映射hdfs上的结构化文件的数据库表。
默认的分割符如下
分隔符 | 描述 |
---|---|
\n | 行分隔符 |
^A | 字段分隔符 \001 |
^B | array、struct的元素间的分隔符,map的键值对与键值对间分隔符 \002 |
^C | map中键与值之间的 分隔符\003 |
一、建表时指定
CREATE EXTERNAL TABLE `dw_ads.ads_temp_pro_user`(
`user_uuid` string COMMENT '用户ID',
`user_name` string COMMENT '姓名',
`mobile` string COMMENT '手机号',
`os` string COMMENT '操作系统',
`manufacturer` string COMMENT '设备型号',
`is_real_name` string COMMENT '实名',
`is_prt_auth` string COMMENT '申请借款次数')
PARTITIONED BY (
`type` string)
row format delimited
FIELDS TERMINATED BY '\t'
COLLECTION ITEMS TERMINATED BY '\002'
MAP KEYS TERMINATED BY '\003'
LINES TERMINATED BY '\n'
;
二、建好表之后更改
alter table dw_ads.ads_temp_pro_user set SERDEPROPERTIES('field.delim'='\t');