博客
关于我
Hive的DDL--外部表&like复制
阅读量:620 次
发布时间:2019-03-13

本文共 1688 字,大约阅读时间需要 5 分钟。

①external关键字可以让用户创建一个外部表,在建表的同时指定一个指向实际数据的路径(location)

[xiaokang@hadoop hive_data]$ hadoop fs -mkdir /stu[xiaokang@hadoop hive_data]$ hadoop fs -put students.txt /stu

可以看到/stu路径下出来一个students.txt

在这里插入图片描述

hive (xiaoliu)> create external table student_ext(sno int,sname string,sex string,sage int,sdept string)              > row format delimited              > fields terminated by ','              > location '/stu';hive (xiaoliu)> select * from student_ext;OKstudent_ext.sno	student_ext.sname	student_ext.sex	student_ext.sage	student_ext.sdept95001	李勇	男	20	CS95002	刘晨	女	19	IS95003	王敏	女	22	MA95004	张立	男	19	IS95005	刘刚	男	18	MA95006	孙庆	男	23	CS95007	易思玲	女	19	MA95008	李娜	女	18	CS95009	梦圆圆	女	18	MA95010	孔小涛	男	19	CS95011	包小柏	男	18	MA95012	孙花	女	20	CS95013	冯伟	男	21	CS95014	王小丽	女	19	CS95015	王君	男	18	MA95016	钱国	男	21	MA95017	王风娟	女	18	IS95018	王一	女	19	IS95019	邢小丽	女	19	IS95020	赵钱	男	21	IS95021	周二	男	17	MA95022	郑明	男	20	MANULL	NULL	NULL	NULL	NULL

在这里插入图片描述

如上图所示,在默认路径下没有student_ext表,由此也可知student_ext为外部表

②hive创建内部表时,会将数据移动到数据仓库指向的路径;若创建外部表,仅记录数据所在的路径,不对数据的位置做任何改变。在删除表的时候,内部表的元数据和数据会被一起删除,而外部表只删除元数据,不删除数据。

内部表:
#删除一个内部表t1hive (xiaoliu)> drop table t1;OKTime taken: 0.468 seconds

如下图所示,可以看到,t1表以及其结构化数据文件都不见了

在这里插入图片描述

外部表:

#删除外部表student_exthive (xiaoliu)> drop table student_ext;OKTime taken: 0.153 seconds

在/stu路径下仍然存在student.txt

在这里插入图片描述
可以这样理解,内部表时受hive管理的表,外部表是不受hive管理的表

③like允许用户复制现有的表结构,但是不复制数据。

hive (xiaoliu)> select * from t_user;OKt_user.id	t_user.name	t_user.country6	kongzi	China7	mozi	China8	laozi	China1	Allen	US2	Bob	US3	Tom	UShive (xiaoliu)> create table t_user_copy like t_user;OKTime taken: 0.085 secondshive (xiaoliu)> select * from t_user_copy;OKt_user_copy.id	t_user_copy.name	t_user_copy.countryTime taken: 0.159 seconds

转载地址:http://sjpaz.baihongyu.com/

你可能感兴趣的文章
MVC 区域功能
查看>>
MySQL FEDERATED 提示
查看>>
mysql generic安装_MySQL 5.6 Generic Binary安装与配置_MySQL
查看>>
Mysql group by
查看>>
MySQL I 有福啦,窗口函数大大提高了取数的效率!
查看>>
mysql id自动增长 初始值 Mysql重置auto_increment初始值
查看>>
MySQL in 太多过慢的 3 种解决方案
查看>>
MySQL InnoDB 三大文件日志,看完秒懂
查看>>
Mysql InnoDB 数据更新导致锁表
查看>>
Mysql Innodb 锁机制
查看>>
MySQL InnoDB中意向锁的作用及原理探
查看>>
MySQL InnoDB事务隔离级别与锁机制深入解析
查看>>
Mysql InnoDB存储引擎 —— 数据页
查看>>
Mysql InnoDB存储引擎中的checkpoint技术
查看>>
Mysql InnoDB存储引擎中缓冲池Buffer Pool、Redo Log、Bin Log、Undo Log、Channge Buffer
查看>>
MySQL InnoDB引擎的锁机制详解
查看>>
Mysql INNODB引擎行锁的3种算法 Record Lock Next-Key Lock Grap Lock
查看>>
mysql InnoDB数据存储引擎 的B+树索引原理
查看>>
mysql innodb通过使用mvcc来实现可重复读
查看>>
mysql insert update 同时执行_MySQL进阶三板斧(三)看清“触发器 (Trigger)”的真实面目...
查看>>