get动态增量新功能,让大数据量入集市更便捷

BI最前线 发表于 2021/03/26 17:21:14 2021/03/26
【摘要】 “动态增量”是“增量导入数据”在9.1版本中新增的入集市的方式。随着数据量的增大,咱们入集市的方式渐渐的从“同步数据”变成“增量导入数据”,“增量导入数据”的优点大致有两点:1. 入集市的时候可以打上meta,查询的时候按照meta进行查询,加快查询速度;2. 采取每次追加部分数据的方式,跟“同步数据”每次全量数据入集市的方式相比,每天入集市任务的时间更短;数据库处理的数据量更小,减少数据库...

“动态增量”是“增量导入数据”在9.1版本中新增的入集市的方式。


随着数据量的增大,咱们入集市的方式渐渐的从“同步数据”变成“增量导入数据”,“增量导入数据”的优点大致有两点:



1. 入集市的时候可以打上meta,查询的时候按照meta进行查询,加快查询速度;

2. 采取每次追加部分数据的方式,跟“同步数据”每次全量数据入集市的方式相比,每天入集市任务的时间更短;数据库处理的数据量更小,减少数据库压力。



同时,“增量导入数据”也并不能完全满足咱们数据更新的需求。

 
图片
一.  为什么要用“动态增量”?
  
举个例子,某部门分析的是订单数据,有历史5年的订单数据(2016年1月到2021年3月),历史数据不会变化,只有最近3个月的数据会发生变化,每天想要查询的历史所有订单数据(2016年1月到昨天的数据都可能会查询)。

如果使用“增量导入数据”的“普通增量”,每天追加前一天的数据到集市中没有问题,但是无法满足“最近3个月的数据会变化”的场景,比如:咱们在2021年3月10号,将2021年3月9号的数据追加到集市中,但是到了11号的时候,9号的数据发生了变化。”普通增量”是没有办法对集市中已经变化的9号的数据进行update,或者说删除9号的数据,重新导入。

这种时候“动态增量”就派上用场啦!
 
图片
二.  “动态增量”如何上市?
  
A. 历史数据按月全量入(2021-03-01日进行)


(1) 需要一个sql数据集,查询 表“某部门订单数据”的全部数据,且需要有日期字段。sql语句中不用加其他where条件用于限制取哪段时间的数据
 

图片


(2)新建一个“动态增量”任务

文件夹:设置集市文件夹的名称,需要有意义

更新依据列:需要是日期类型,如果不是日期类型,选择旁边的新建计算列,通过表达式的方式将非日期类型的日期列,转换为日期类型。

咱们这里选择“按时间范围更新”,将历史数据全部包含(比如咱们这里,在2021年3月1号的时候,历史数据范围是2020-01-01到2021-02-28),范围选择完成也可以看下面的提示更新范围,更好理解,范围是包含开始时间,但不包含结束时间
 

图片


实现的效果是历史数据按月分割,不同月份的数据存储在不同的集市文件中,并自动给集市数据加上meta,meta名为:_Date_Range_,meta值:数据对应的月份。
 

图片


具体逻辑:一个任务,按照时间范围(2020-01-01到本月(2021-03月)),按月进行分割,任务实际执行的时候,是按月入集市的,数据库执行的sql,不是一条(select * from 某部门订单数据),而是每个月一条。

图片


B.每天更新最近3个月数据

(1) 2021-03-02号以及之后每天更新最近3个月数据

文件夹:还是跟之前保持一致

按周期进行更新,更新范围:近2月到今天,也就是2021-01-01开始到今天
 

图片


更新的效果是按月进行分割,删除2021-01月到2021-02月的数据,追加生成2021-01月到2021-03月的数据。
 

图片


一个完整的动态增量的实例就讲完了,实际使用中咱们可以根据情况进行调整,总的来说动态增量可以实现某段时间的数据按月(按年或按日)进行分割入集市,并打上meta,同时,可以实现对已经入集市的数据进行按月(按年或按日)更新,更新最近一段时间,或者某段固定的时间范围,更新的逻辑是删除对应时间段的集市文件,然后生成新的。



最后咱们不得不提的是meta的使用,前面“动态增量”已经实现了分割入集市,并打上meta,咱们的目标实现了一半(减少入集市的时间);还有另外一半(加快集市查询),需要通过meta的使用,也就是文件过滤来实现。



敬请期待下期文章【meta使用——文件过滤】。 

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。