1 分区表
https://www.jianshu.com/p/1cdd3e3c5b3c
https://www.jianshu.com/p/163f8375c0d6
1 mysql分区
RANGE分区:基于属于一个给定连续区间的列值,把多行分配给分区。
LIST分区:类似于按RANGE分区,区别在于LIST分区是基于列值匹配一个离散值集合中的某个值来进行选择。
HASH分区:基于用户定义的表达式的返回值来进行选择的分区,该表达式使用将要插入到表中的这些行的列值进行计算。这个函数可以包含MySQL 中有效的、产生非负整数值的任何表达式。
KEY分区:类似于按HASH分区,区别在于KEY分区只支持计算一列或多列,且MySQL 服务器提供其自身的哈希函数。必须有一列或多列包含整数值。
2 Hive中分区表
分两类:静态分区、动态分区;
Hive中没有复杂的分区类型(List,Range,Hash)
2 内部表&外部表
https://www.cnblogs.com/qiaoyihang/p/6225151.html
https://blog.csdn.net/qq_36743482/article/details/78393678
1 未被external修饰的是内部表(managed table),被external修饰的为外部表(external table);
2 内部表数据由Hive自身管理,外部表数据由HDFS管理;
3 内部表数据存储的位置是hive.metastore.warehouse.dir(默认:/user/hive/warehouse),外部表数据的存储位置由自己制定(如果没有LOCATION,Hive将在HDFS上的/user/hive/warehouse文件夹下以外部表的表名创建一个文件夹,并将属于这个表的数据存放在这里);
4 删除内部表会直接删除元数据(metadata)及存储数据;删除外部表仅仅会删除元数据,HDFS上的文件并不会被删除;
5 对内部表的修改会将修改直接同步给元数据,而对外部表的表结构和分区进行修改,则需要修复(MSCK REPAIR TABLE table_name;)
3 临时表
https://www.cnblogs.com/duanxz/p/3724120.html
4 字典表
https://www.cnblogs.com/jpfss/p/10418873.html
5 全量表,增量表、快照表、流水表
全量表:所有数据的最新状态
增量表:新增数据
快照表:
流水表: 对于表的每一个修改都会记录,可以用于反映实际记录的变更。
6 切片表
切片表:切片表根据基础表,往往只反映某一个维度的相应数据。其表结构与基础表结构相同,但数据往往只有某一维度,或者某一个事实条件的数据
7 拉链表
1 定义
2 应用场景
3 分区
4 数据加载
1)首日装载
拉链表首日装载,需要进行初始化操作,具体工作为将截止到初始化当日的全部历史用户导入一次性导入到拉链表中。目前的ods_user_info 表的第一个分区,即2020-06-14 分区中就是全部的历史用户,故将该分区数据进行一定处理后导入拉链表的9999-99-99 分区即可。
2)每日装载