HIVE基础操作
2023-03-06 21:02:06 13 举报
AI智能生成
hive建表基础语句
作者其他创作
大纲/内容
hive表创建
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]
[LOCATION hdfs_path]
[(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]
[LOCATION hdfs_path]
[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] :指定分隔符
列分隔符: fields terminated by ','
行分隔符:lines terminated by '\n' (一般不需指定)
元素分隔符: items terminated by '\t'
[STORED AS file_format]:表中的数据要以哪种文件格式来存储,默认为TEXTFILE
[LOCATION hdfs_path]:指定hive当前所建表的数据在hdfs上的存储路径
CTS
将另一个表中查询的数据保存到新建表中
create table tname as select .... from ....
将另一个表中查询的数据保存到新建表中
create table tname as select .... from ....
like 复制表,只复制表结构,不复制表中的数据
create table tname like old_name;
create table tname like old_name;
查看
查看表列表
show tables;
show tables in db;
show table like '*';
show tables in db;
show table like '*';
查看建表语句
show create talbe tname;
查看表详细信息
desc [extended/formatted]tname;
查看表分区信息
show partitions tname;
修改
修改表名称
alter table tname rename to new_name
修改表字段
添加列
alter table tname add columns (col_name,col_type);
修改列
alter table tname change col_name new_col_name col_type;
修改分区
删除分区
alter table tname drop partition(p='aa)
添加分区
alter table tname add partition(p='aa') partition(p='bb) ... [location 'usr/hive/ptn']
删除
清空表
truncate table tname;
删除表
drop table tname[cascade]
视图
创建视图
create view view_name as select ....;
查看视图
show tables; desc view_name;
删除视图
drop view view_name;
文件存储格式
(1)TEXTFILE
默认格式;
存储方式为行存储;
磁盘开销大 数据解析开销大;
使用这种方式,hive不会对数据进行切分,从而无法对数据进行并行操作。
存储方式为行存储;
磁盘开销大 数据解析开销大;
使用这种方式,hive不会对数据进行切分,从而无法对数据进行并行操作。
(2)SEQUENCEFILE
二进制文件,以<key,value>的形式序列化到文件中;
存储方式:行存储;
可分割 压缩;
一般选择block压缩;
优势是文件和Hadoop api中的mapfile是相互兼容的
存储方式:行存储;
可分割 压缩;
一般选择block压缩;
优势是文件和Hadoop api中的mapfile是相互兼容的
(3)RCFILE
存储方式:数据按行分块,每块按照列存储;
压缩快 快速列存取;
读记录尽量涉及到的block最少;
读取需要的列只需要读取每个row group 的头部定义;
读取全量数据的操作 性能可能比sequencefile没有明显的优势。
压缩快 快速列存取;
读记录尽量涉及到的block最少;
读取需要的列只需要读取每个row group 的头部定义;
读取全量数据的操作 性能可能比sequencefile没有明显的优势。
(4)ORCFILE(0.11以后出现)
存储方式:数据按行分块,每块按照列存储;
压缩快 快速列存取;
效率比rcfile高,是rcfile的改良版本。
压缩快 快速列存取;
效率比rcfile高,是rcfile的改良版本。
(5)PARQUET
类似于orc,相对于orc文件格式,hadoop生态系统中大部分工程都支持parquet文件。
0 条评论
下一页
为你推荐
查看更多