Hive会为每个创建的数据库在HDFS上创建一个目录,该数据库的表会以子目录形式存储,表中的数据会以表目录下的文件形式存储。对于default数据库,默认的缺省数据库没有自己的目录,default数据库下的表默认存放在/user/hive/warehouse目录下。
常见数据格式
- textfile
- SequenceFile
- RCFile
- ORCFile
- Parquet
数据格式
当数据存储在文本文件中,必须按照一定格式区别行和列,并且在Hive中指明这些区分符。Hive默认使用了几个平时很少出现的字符,这些字符一般不会作为内容出现在记录中。
Hive默认的行和列分隔符如下表所示:
| 分隔符 |描述 |
| — | — |
| n | 对于文本文件来说,每行是一条记录,所以n 来分割记录 |
| ^A | 分割字段,也可以用 01 来表示 |
| ^B | ARRAY或STRUCT中元素分隔符,或MAP中 key与value分隔符,通常写成“ 02” |
| ^C | MAP中key/value对间的分隔符,通常写成 “ 03” |
常用实例:
1 |
ROW FORMAT DELIMITED FIELDS TERMINATED BY ' |