Hive3:表操作常用语句-内部表、外部表

一、内部表

1、基本介绍

CREATE TABLE table_name ......

未被external关键字修饰的即是内部表, 即普通表。 内部表又称管理表,内部表数据存储的位置由hive.metastore.warehouse.dir参数决定(默认:/user/hive/warehouse),删除内部表会直接删除元数据(metadata)及存储数据,因此内部表不适合和其他工具共享数据。

2、创建表和数据

创建表并插入几条数据

sql 复制代码
create table if not exists stu(id int,name string);
insert into stu values (1,"zhangsan");
insert into stu values (2, "wangwu");
select * from stu;

查看hadoop中数据位置

会发现看不出有分隔符

默认的数据分隔符是:"\001"是一种特殊字符,是ASCII值,键盘是打不出来

3、自定义表的分隔符

sql 复制代码
create table if not exists stu2(id int ,name string) row format delimited fields terminated by '\t';

查看hadoop数据

发现,已经是\t分割了

4、删除表

sql 复制代码
DROP table stu2;

查看hadoop数据

发现hdfs中的stu2数据也被删除了

查看MySQL中的元数据

sql 复制代码
SELECT * FROM TBLS ;

也是没有stu2的元数据信息

二、外部表

1、基本介绍

CREATE EXTERNAL TABLE table_name ......LOCATION......

external关键字修饰的即是外部表, 即关联表。

外部表是指表数据可以在任何位置,通过LOCATION关键字指定。 数据存储的不同也代表了这个表在理念是并不是Hive内部管理的,而是可以随意临时链接到外部数据上的。

所以,在删除外部表的时候, 仅仅是删除元数据(表的信息),不会删除数据本身。

三、区别

相关推荐
hkNaruto15 小时前
【大数据】《传统Hadoop大数据技术入门:补充与进阶——从数据格式到智能决策的问答实录》
大数据·hadoop·分布式
吾AI科技15 小时前
基于Tez引擎的 Hive SQL 性能优化
大数据·hive·性能优化·tez
牛奶咖啡131 天前
大数据Hadoop运维应用实践——双NameNode高可用Hadoop集群架构(下)
大数据·hadoop·hadoop集群配置文件解析·hadoop高可用集群安装部署·配置指定多台服务器相互免密·配置hadoop服务开机自启·ansible部署hadoop
abcy0712132 天前
hive 执行器原理
hive
李昊哲小课2 天前
spark4 集群安装
大数据·hadoop·zookeeper·spark
buligbulig3 天前
Hadoop环境安装和集群创建
大数据·hadoop·分布式
香山上的麻雀10083 天前
Hive内部表(MANAGED_TABLE)的“批量删除分区”特性详解
数据仓库·hive·hadoop
牛奶咖啡135 天前
大数据Hadoop运维应用实践——双NameNode高可用Hadoop集群架构(上)
hadoop·高可用hadoop集群搭建·给服务器做免密信任·修改服务器主机名称·服务器本地配置主机名与ip映射·服务器配置jdk环境·服务器安装zooker
jjjava2.06 天前
SpringMVC入门指南:从零掌握核心要点
数据仓库·hive·hadoop
ljs6482739517 天前
Hadoop集群部署常见问题
大数据·hadoop·分布式