Hive中库和表的常见操作
@
库的常见操作
1.增#
CREATE (DATABASE|SCHEMA) [IF NOT EXISTS] database_name
[COMMENT database_comment] // 库的注释说明
[LOCATION hdfs_path] // 库在hdfs上的路径
[WITH DBPROPERTIES (property_name=property_value, ...)]; // 库的属性
create database if not exists mydb2
comment 'this is my db'
location 'hdfs://hadoop101:9000/mydb2'
with dbproperties('ownner'='jack','tel'='12345','department'='IT');
2.删#
drop database 库名: 只能删除空库
drop database 库名 cascade: 删除非空库
3.改#
use 库名: 切换库
dbproperties: alter database mydb2 set dbproperties('ownner'='tom','empid'='10001');
同名的属性值会覆盖,之前没有的属性会新增
4.查#
show databases: 查看当前所有的库
show tables in database: 查看库中所有的表
desc database 库名: 查看库的描述信息
desc database extended 库名: 查看库的详细描述信息
表的常见操作
1.增#
CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name
[(col_name data_type [COMMENT col_comment], ...)] //表中的字段信息
[COMMENT table_comment] //表的注释
[PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)]
[CLUSTERED BY (col_name, col_name, ...)
[SORTED BY (col_name [ASC|DESC], ...)] INTO num_buckets BUCKETS]
[ROW FORMAT row_format] // 表中数据每行的格式,定义数据字段的分隔符,集合元素的分隔符等
[STORED AS file_format] //表中的数据要以哪种文件格式来存储,默认为TEXTFILE(文本文件)
可以设置为SequnceFile或 Paquret,ORC等
[LOCATION hdfs_path] //表在hdfs上的位置
- 建表时,不带EXTERNAL,创建的表是一个MANAGED_TABLE(管理表,内部表)
- 建表时,带EXTERNAL,创建的表是一个外部表!
外部表和内部表的区别是:
- 内部表(管理表)在执行删除操作时,会将表的元数据(schema)和表位置的数据一起删除!
- 外部表在执行删除表操作时,只删除表的元数据(schema),不会删除在hive上的实际数据。
在企业中,创建的都是外部表!在hive中表是廉价的,数据是珍贵的!
建表语句执行时:
- hive会在hdfs生成表的路径;
- hive还会向MySQl的metastore库中掺入两条表的信息(元数据)
管理表和外部表之间的转换:
将表改为外部表:
alter table p1 set tblproperties('EXTERNAL'='TRUE');
将表改为管理表:
alter table p1 set tblproperties('EXTERNAL'='FALSE');
注意:在hive中语句中不区分大小写,但是在参数中严格区分大小写!
2.删#
drop table 表名:删除表
3.改#
4.查#
desc 表名: 查看表的描述
desc formatted 表名: 查看表的详细描述
作者: 孙晨c
出处:https://www.cnblogs.com/sunbr/p/13759205.html
版权:本文采用「署名-非商业性使用-相同方式共享 4.0 国际」知识共享许可协议进行许可。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 数据库服务器 SQL Server 版本升级公告
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)
· 程序员常用高效实用工具推荐,办公效率提升利器!