【无标题】

Hive是处理数据仓库的一种工具。

数据库
操作型数据库(OLTP),不适合做分析。
分析型数据库(OLAP),分析型数据库有Doris、StarRocks。

MySQL是操作型数据库(OLTP)

数据仓库主要特征: 面向主题的(Subject-Oriented )、集成的(Integrated)、非易失的(Non-Volatile)和时变的(Time-Variant )

数据仓库架构可分为三层 源数据层ODS、数据仓库层(DW)、数据应用层(DA)。

数据库操作
创建数据库
create database [if not exists] 表名 [LOCATION position];

查看数据库详细信息

desc database 表名 [CASCADE];
创建数据库并指定hdfs存储位置
create database myhive2 location '/myhive2'
删除一个空数据库,如果数据库下面有数据表,那么就会报错
drop database 表名;
强制删除数据库,包含数据库下面的表一起删除
drop database 表名 cascade;
Hive表的类型?
内部表(MANAGED_TABLE)
分区表
分桶表
外部表(EXTERNAL_TABLE)
分区表
分桶表
内部表区别?
删除内部表: 直接删除元数据(metadata)及存储数据
删除外部表: 仅仅是删除元数据(表的信息),不会删除数据本身
内部表

创建内部表:

create table [if not exists] 内部表名(
字段名 字段类型 , ...
)...;
复制内部表:
复制表结构: CREATE TABLE 表名 like 存在的表名;
复制表结构和数据: CREATE TABLE 表名 as select语句;
删除内部表:
drop table 内部表名;
查看表格式化信息:
desc formatted 表名;
truncate清空内部表数据:
truncate table 内部表名;

外部表

创建外部表:

create external table [if not exists] 内部表名(
字段名 字段类型 , ...
)...;
复制外部表:
复制表结构: CREATE EXTERNAL TABLE 表名 like 存在的表名;
删除外部表:
drop table 外部表名;
查看表格式化信息:
desc formatted 表名;
注意: 外部表不能使用 truncate 关键字清空数据
查看表操作
查看所有表 :
show tables;
查看建表语句 :
show create table 表名;
查看表结构信息 :
desc 表名;
查看表格式化信息 :
desc formatted 表名;
修改表操作
修改表名 :
alter table 旧表名 rename to 新表名;
修改表路径 :
alter table 表名 set location 'hdfs中存储路径';
注意: 建议使用默认路径
修改表属性 :
alter table 表名 set tblproperties ('属性名'='属性值'); 
注意: 经常用于内外部表切换
修改表操作
内外部表转换
内部表转外部表
alter table stu set tblproperties('EXTERNAL'='TRUE');
外部表转内部表
alter table stu set tblproperties('EXTERNAL'='FALSE');
通过stu set tblproperties来修改属性
要注意:('EXTERNAL'='FALSE') 或 ('EXTERNAL'='TRUE')为固定写法,区分大小写!!!
  • 7
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值