写的不到位的地方,欢迎评论指出不足之处

Hive 分区 partition 必须在表定义时,指定对应的 partition 字段

create table day table(id int, content string) partitioned by (dt string);
  • 单分区建表语句
    • 单分区表、按天分区、在表结构中存在 id,content,dt 三列,dt 为文件夹区分
create table dayhour_table(id int, content string) 
partitioned by (dt string, hour string);
  • 双分区建表语句
    • 双分区表、按天和小时分区,在表结构中新增加了 dt 和 hour 两区分列
      • 先以 dt 为文件夹,再以 hour 子文件夹区分

单分区表创建与插入数据

多分区表创建与插入数据

添加分区列

 

1、创建多个分区列,插入数据必须将所有分区列都添加值,顺序无所谓,需要注意类型
2、当需要单独添加分区列时,必须要添加所有的分区列

动态分区

当 hdfs 目录中存在数据,并且符合分区格式,此时创建外部表时,一定要修复分区才可查询到结果,否则无效
创建分区时,一定要有分区列,否则无效

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐