文本文件数据编码
- TSV:tab separated values;即“制表符分隔值”,用制表符分隔数据
- CSV: comma separated values;即“逗号分隔值”,用逗号分隔数据
两种文件存在的缺点在于文件中可能存在不需要作为分隔符的逗号或者制表符存在,所有hive有专门的分隔符。
hive记录中默认的分隔符
分隔符 | 描述 |
---|---|
\n | 对于文本文件来说每一行都是记录,可以使用换行符作为分隔符 |
^A(ctrl+A) | 用于分隔字段(列),在CREATE TABLE 语句中可以使用八进制编码\001表示,键盘上打不出来。 |
^B | 用于分隔array或者struct中的元素,或于用map钟键值对的分隔,在CREATE TABLE中使用\002表示 |
^C | 用于MAP钟键与值的分隔,用\003表示 |
读时模式
传统数据库是写时模式,即在写入文件的时候会,会对数据的格式进行校验,如果不符合,将无法写入数据库。
hive是读时模式,在往数据库里写入不会对数据进行校验,但是在读取数据的时候会对数据进行校验,对于不合格的数据,会设置为null。
hive的优点在于加载(写)数据的时候速度较快,因为不需要对数据进行解析,而传统写时模式则有利于数据的查询。
好久没有更新博客了,这篇虽然水了点,写得像个笔记,算是开篇吧,福利就上亚丝娜吧!!!