目录
1.建表格式
create [external] table [if not exists] 表名(
列名 数据类型 [ comment '描述信息'],
列名 数据类型 [ comment '描述信息'],
列名 数据类型 [ comment '描述信息'],
......
) comment '表的描述信息'
分区
分桶(桶内排序 + 分桶个数)
行格式切割符
存储格式(行存储, 列存储)
存储位置
表的属性信息;
2.切割符
默认切割符
Hive表默认切割符是'\001'符号
自定义切割符
row format delimited fields terminated by '\t'
3.修改表 相关操作
修改表名 rename to
修改表属性 alter table...set tblproperties('EXTERNAL'='TRUE')
添加列 alter table...add columns (address string, hobby string)
修改列名 alter table t_archer_backup1 change address addr string;
4.内部表 和 外部表的区别
1. 格式不同.
直接创建Hive表默认就是内部表, 如果要创建外部表, 必须用 external 关键字.
2. 删除时是否会删除源文件.
删除内部表的时候, 除了会删除元数据, 还会删除源文件.
删除外部表的时候, 只会删除元数据, 但是源文件(HDFS上)还在.
3. 应用场景不同.
删除Hive的时候, 如果也要同步删除源文件, 就用内部表.
否则就用外部表, 例如: Hbase 和 Hive的映射
5.分区之静态分区
静态分区
格式 create table 表名(....)
partitioned by(分区字段1 数据类型, 分区字段2 数据类型...) row format ...... ;
细节: 分区字段必须是表中没有的字段.
往分区表中添加数据
load data local inpath '/export/data/hivedata/archer.txt' into t

这篇博客详细介绍了Hive SQL的DDL语句,包括建表格式、切割符、内部表与外部表的区别,重点探讨了分区(静态与动态)以及分桶表的概念。此外,还讲解了Hive中的复杂数据类型如array、struct和map的使用。
最低0.47元/天 解锁文章
8753

被折叠的 条评论
为什么被折叠?



