hive 内部表 外部表 创建

hive outline

链接

  1. hive中有2种类型的表:内部表(默认)和外部表
  2. 管理表又叫做内部表
hive 内部表 外部表的区别

本身有两种表,第一种的是内部表,第二种是外部表;内部表呢,又叫管理表

  1. 创建表时:创建外部表时,需要加上一个关键字external,而在创建内部表时,不需要加任何关键字,默认创建的就是内部表
  2. 删除表时:删除内部表时,数据块和元数据都会被删除,而在删除外部表时,只会删除元数据,不会删除数据块

实际应用中一般很少创建内部表,当用到临时表时,会考虑内部表

hive 创建内部表 外部表

1. 创建一个数据存储目录

mkdir input

在这里插入图片描述

2.创建本地文件

vim dept.txt

#添加以下内容
10	ACCOUNTING	1700
20	RESEARCH	1800
30	SALES	1900
40	OPERATIONS	1700

vim emp.txt

#添加以下内容
7369	SMITH	CLERK	7902	1980-12-17	800.00		20
7499	ALLEN	SALESMAN	7698	1981-2-20	1600.00	300.00	30
7521	WARD	SALESMAN	7698	1981-2-22	1250.00	500.00	30
7566	JONES	MANAGER	7839	1981-4-2	2975.00		20
7654	MARTIN	SALESMAN	7698	1981-9-28	1250.00	1400.00	30
7698	BLAKE	MANAGER	7839	1981-5-1	2850.00		30
7782	CLARK	MANAGER	7839	1981-6-9	2450.00		10
7788	SCOTT	ANALYST	7566	1987-4-19	3000.00		20
7839	KING	PRESIDENT		1981-11-17	5000.00		10
7844	TURNER	SALESMAN	7698	1981-9-8	1500.00	0.00	30
7876	ADAMS	CLERK	7788	1987-5-23	1100.00		20
7900	JAMES	CLERK	7698	1981-12-3	950.00		30
7902	FORD	ANALYST	7566	1981-12-3	3000.00		20
7934	MILLER	CLERK	7782	1982-1-23	1300.00		10

3.创建外部表dept
关键字 external:外部的

create external table if not exists default.dept(
deptno int,
dname string,
loc int
)
row format delimited fields terminated by '\t';

4.创建内部表emp

不加任何关键字即为创建内部表,即hive默认的表类型

create table if not exists default.emp(
empno int,
ename string,
job string,
mgr int,
hiredate string, 
sal double, 
comm double,
deptno int)
row format delimited fields terminated by '\t';
  1. 将本地文件加载到hive中
hive > load data local inpath '/opt/modules/input/dept.txt' into table dept;    
hive > load data local inpath '/opt/modules/input/emp.txt' into table emp;
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值