Hive表---内部表、外部表、数据导入和导出

一. 内部表

1. 内部表基本操作

创建内部表: create table [if not exists] 内部表名(字段名 字段类型 , 字段名 字段类型 , … )[row format delimited fields terminated by ‘字段分隔符’] ;

复制内部表: 方式1: like方式复制表结构 方式2: as 方式复制表结构和数据

删除内部表: drop table 内部表名;
注意: 删除内部表效果是mysql中表相关元数据被删除,同时存储在hdfs中的业务数据本身也被删除

查看表格式化信息: desc formatted 表名; – 内部表类型: MANAGED_TABLE

注意: 还可以使用truncate清空内部表数据 格式: truncate table 内部表名;

2. 示例

-- 操作表的前提:先有库并使用它
create database hive2;
use hive2;
-- 一.内部表的创建和删除
-- 1.演示创建内部表
-- 建表方式1
create table inner_stu1(
    id int,
    name string
);
-- 插入数据
insert into inner_stu1 values(1,'张三');

-- 建表方式2: 复制表结构
create table inner_stu2 like inner_stu1;
-- 插入数据
insert into inner_stu2 values(1,'张三');

-- 建表方式3: 复制表结构和数据
create table inner_stu3 as
select * from inner_stu1;


-- 2.演示查看内部表结构详细信息
-- 内部表类型: MANAGED_TABLE
desc formatted inner_stu1;
desc formatted inner_stu2;
desc formatted inner_stu3;


-- 3.演示内部表的删除
-- 删除内部表
drop table inner_stu3;-- 元数据和业务数据均被删除
-- 清空内部数据
truncate table inner_stu2;
-- 注意: delete和update不能使用
delete from inner_stu1;-- 报错
update inner_stu1 set name = '李四'; -- 报错

二. 外部表基本操作

1. 外部表基本操作

创建外部表: create external table [if not exists] 外部表名(字段名 字段类型 , 字段名 字段类型 , … )[row format delimited fields terminated by ‘字段分隔符’] ;

复制表: 方式1: like方式复制表结构 注意: as方式不可以使用

删除外部表: drop table 外部表名;
注意: 删除外部表效果是mysql中元数据被删除,但是存储在hdfs中的业务数据本身被保留

查看表格式化信息: desc formatted 表名; – 外部表类型: EXTERNAL_TABLE

注意: 外部表不能使用truncate清空数据本身

2. 示例

-- 二.外部表的创建和删除
-- 1.外部的表创建
-- 建表方式1
create external table outer_stu1(
    id int,
    name string
);
-- 插入数据
insert into outer_stu1 values(1,'张三');

-- 建表方式2
create external table outer_stu2 like outer_stu1;
-- 插入数据
insert into outer_stu2 values(1,'张三');

-- 注意: 外部表不能使用create ... as 方式复制表
create external table outer_stu3 as</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值