对码当歌,猿生几何?

hive默认分隔符

hive的默认分割符,hive使用不可见的字符作为分割符,如下表。

分隔符描述
\n行分隔符
^A字段分隔符,八进制表示为\001, 
^Barray或struct中为元素分隔符,map中为key-value分隔符\002
^Cmap中为key和value间的分隔符\003

php中使用是使用分隔符的八进制表示方式,并使用双引号引住。eg,

implode("\001", $arrFields);

vim中:set list可以查看到hive数据文件的默认分隔符

显示指定创建表时的默认分割符。eg,

create EXTERNAL table IF NOT EXISTS tbl_test (
  id                        string ,
  gender               string ,
  age                     string ,
  level                   string   
)
PARTITIONED BY (id_type STRING, dt INT,  dt_timestamp INT)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\001'
COLLECTION ITEMS TERMINATED BY '\002'
MAP KEYS TERMINATED BY '\003'
LINES TERMINATED BY '\n'
location 'path';