Hive 库表操作: 创建,查看,修改,删除
参考链接:
库操作
-
创建库
create database if not exist test;
-
创建库带注释
create database test comment "learning hive" location hdfs_path
-
查看数据库
show databases;
-
查看满足条件的数据库
show databases like 'price*'
-
显示数据库的详细信息
desc database extended tmp;
-
查看正在使用的库
select current_database();
-
查看创建库时的详细语句
show create database tmp;
-
删除库
drop database if exits dbname [restrict | cascade];
-
展示库中的表
show tables in tmp
-
切换库
use dev;
表操作
Hive 数据类型(data_type)
- boolean - true/false - TRUE
- tinyint - 1字节(2^8)的有符号整数 -128~127 - 1
- smallint - 2字节(2^16)的有符号整数 -32768~32767 - 2
- int - 4字节的有符号整数 - 1
- bigint - 8字节的有符号整数 - 1
- float - 4字节单精度浮点数 - 1.0
- double - 8字节双精度浮点数 - 1.0
- deicimal - 任意精度的带符号小数 - 1.0
- String - 字符串 - ‘a’,“b”
- varchar - 变长字符串 - “A”,‘b’
- char - 固定长度字符串 - “a”,‘b’
- binary - 字节数组
- timestamp - 时间戳,纳秒精度 - 122327493795
- date - 日期 - “2020-04-07”
- array - 有序的同类型的集合 - array(1,2)
- map - key-value - map(‘a’,1)
- struct - 字段集合 - struct(‘1’,1,1,0)
- union_type - uniontype <date_type, data_type, …>
存储格式 (file_format)
- textfile - 默认格式,行存储,数据不压缩,磁盘开销大
- SequenceFile - 二级制文件支持,使用方便,可分割,可压缩(NONE, RECORD(压缩率低), BLOCK)
- RCFile - 行列存储相结合的存储方式
- ORCFile - 数据按块存储,每块列存储,每个块都存储一个索引
- Parquet - 行式存储,压缩较好
- jsonfile
小知识
-
内部表和外部表的区别
- 内部表由Hive 自身管理,外部表由HDFS管理
- 删除内部表会直接删除元数据及存储数据,删除外部表仅会删除元数据,HDFS上的文件不会被删除
- 创建外部表时,仅记录数据所在路径,不对数据位置做任何改变
-
临时表 temporary
- 表只对当前任务有效,关闭任务表自动删除
- 表空间位于/tmp/hive/
- 如果创建的临时表表名已存在,实际上使用的是临时表
创建表
直接创建
create [temporary] [external] table [if