1、join:多表
2、emp员工表、dept部门表
(1)部门编号
(2)部门名称
(3)部门所在地
[hadoop@hadoop000 data]$ cat dept.txt 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON
3、加载数据到dept部门表中
(1)表成功创建好之后,在Hadoop上的默认路基是:/user/hive/warehouse/dept下面
hive (testzhang_db)> CREATE TABLE dept( > deptno int, > dname string, > loc string > ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'; hive (testzhang_db)> LOAD DATA LOCAL INPATH '/home/hadoop/data/dept.txt' OVERWRITE INTO TABLE dept; hive (testzhang_db)> select * from dept; OK 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON
4、关联关系
在testzhang_db下已创建并加载好两张表:emp员工表、dept部门表
两张表的关联关系:是通过dept部门表中的 部门编号,和emp员工表中的部门编号,进行关联的。
5、做查询
(1)e为emp的别名,d为dept的别名
(2)on为条件
(3)一个SQL把两个表关联起来了
hive (testzhang_db)> select > e.empno,e.ename,e.sal,e.deptno,d.dname > from emp e join dept d > on e.deptno=d.deptno;