基于 MySql 的远程模式安装的 Hive 中的表存储在 hdfs 的 /user/hive/warehouse
目录下。
hive 的表主要有 5 中类型:
- 内部表
- 分区表
- 外部表
- 桶表
- 视图
一、内部表
-
表对应一个目录,表中的数据对应一个文件
-
文件存储在 hdfs 的 Datanode 的数据块中,数据块默认的大小是 128m(Hadoop2.x的版本,1.x版本是 64m)
-
表的元信息(表名,列名,列的类型)存储在 mysql 数据库的表中(TBLS -> 表信息,COLUMNS_V2 -> 列信息)
-
例:创建 emp 表,字段如下,数据文件列分隔符为 ","
create table emp (empno int, ename string, job string, mgr int, hiredate string, sal int, comm int, deptno int) row fromat delimited fields terminated by ',';
- 导入数据:
# 导入HDFS的数据,/ 是HDFS的根 load data inpath '/data/emp.csv' into table emp; # 导入本地Linux数据,/ 是Linux的根 load data local inpath '/root/data/emp.csv' into table emp;
-
emp.csv 文件内容:
7369,SMITH,CLERK,7902,1980/12/17,800,,20 7499,ALLEN,SALESMAN,7698,1981/2/20,1600,300,30 7521,WARD,SALESMAN,7698,1981