这段时间做hive的时候,用到了系统默认分隔符。通常下面2中情况我们需要需要用到分隔符
1,制作table的输入文件,有时候我们需要输入一些特殊的分隔符
2,把hive表格导出到本地时,系统默认的分隔符是^A,这个是特殊字符,直接cat或者vim是看不到的
分隔符在HIVE中的用途
分隔符 |
描述 |
|
对于文本文件来说,每行都是一条记录,因此换行符可以分隔记录 |
^A(Ctrl+A) |
用于分隔字段(列)。在CREATE TABLE语句中可以使用八进制编码 01表示 |
^B(Ctrl+B) |
用于分隔ARRAY或者STRUCT中的元素,或用于MAP中键-值对之间的分隔。在CREATE TABLE语句中可以使用八进制编码 02表示 |
^C(Ctrl+C) |
用于MAP中键和值之间的分隔。在CREATE TABLE语句中可以使用八进制编码 03表示 |
Hive 中没有定义专门的数据格式,数据格式可以由用户指定,用户定义数据格式需要指定三个属性:列分隔符(通常为空格、” ”、”x001″)、行分隔符(” ”)以及读取文件数据的方法。由于在加载数据的过程中,不需要从用户数据格式到 Hive 定义的数据格式的转换,因此,Hive 在加载的过程中不会对数据本身进行任何修改,而只是将数据内容复制或者移动到相应的 HDFS 目录中。
我们可以在create表格的时候,选择如下,表格加载input的文件的时候就会按照下面格式匹配
row format delimited fields terminated by '