Hive中默认分隔符介绍

Hive建表时,默认使用的分隔符时候一个特殊的字符,查看表决结构时候是一个'\001'
这不是真正的'\001',其实是使用八进制编码\001表示,以下为该分隔符使用和编辑的方法

分隔符输入和使用方式

linux/Mac vi/vim 进入文本编辑

\001    用ctrl+v然后再ctrl+a  显示结果为^A
  Java实现:
     byte[] bytes = new byte[] {1};         
     String splitString=new String(bytes ,"GBK");          
     或者         
     String splitString = ""+((char) ((int) 1));        
\002    用ctrl+v然后再ctrl+b  显示结果为^B
  Java实现:         
     byte[] bytes = new byte[] {2};         
     String splitString=new String(bytes ,"GBK");          
     或者         
     String splitString = ""+((char) ((int) 2));

使用该分隔符优点

1 保证数据完整性,在数据抽取存储中通过该分隔符进行分割,非常有效组织了和数据内容冲突的情况。ETL清洗中最为明显
2 很多导入导出工具,不支持多字符分隔符情况单字符满足不了数据切分时

该分隔符缺点

1 作为key时候shell中不好进行拼接查询,比如hbase.redis等
2 临时操作时不好进行展示,对不知道该分隔符的人会认为没有进行切分。

小捐怡情,大捐感激,点下广告也是极好的