接下来我们开始了解数据仓库测试的对象,直白一点讲就是一张表,这张表分为以下几种类型:
全量表:没有分区的表,数据全量更新或者增量合并,我们通常理解就是把这些数据放到了一个文件夹里面。这样会有什么好处呢?全量表查询的效率非常高,成本比较低。但是它不能反应数据状态,只保存最新状态的数据。
分区表:有分区的表,比如我们把订单信息放到了几个文件夹去储存,一个文件夹按照天去切分。分区表分为两种,一种是增量的,每天存一份。第二种是全量更新,比如我们可能会把历史之前所有的数据存储在某一天的数据里面。
分区表的好处是可以查询到历史数据的状态以及变化过程,但是可以保存历史数据的状态,一般使用日期或者地区作为分区条件。有一个缺点是在一些时间节点上容易产生数据漂移。
临时表:放在tmp的表,这种表一般是测试或开发临时保存一些数据时用的,一般不需要我们去测试。一般只会保存很短的时间,过了时间系统会自动清掉。
拉链表:是一种维护历史状态,以及最新状态数据的一种表,一般只会插入更新有状态变化的数据,保存数据的历史状态,不变更。这样做的好处就是节省存储资源。
外部表:是建表的时候被external 修饰的表。删除外部表的时候,只会删除元数据,数据本身不删除,外部表可以自己指定路径,跨部门使用比较安全。