目录
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 table t_all_hero_part partition (role='sheshou&#