找文章 / 找答案
精选问答 更多内容

[数据处理] <永洪tech>定时任务增量导入数据(按天导入)

永洪tech-Bella白银一 显示全部楼层 发表于 2017-8-10 17:22:03 |阅读模式 打印 上一主题 下一主题
问题:数据库中的数据每天更新,如何实现每天将前一天的数据追加到数据集市?


实现方法:使用定时任务增量导入数据,每天只导入前一天新增的数据。前提是数据库中有这样一个字段标明数据是哪一天的。
实现步骤:
1.首先新建定时任务增量导入数据不勾选增量,将某个查询的所有数据放到数据集市,其中会填写文件夹和文件前缀,这个在后面还会使用到。可以在定时任务中设置执行时间,选择系统空闲的时间执行定时任务。

7.png


2.步骤1完成后新建另一个定时任务增量导入数据,实现每天新增前一天的数据。勾选增量,其中文件夹和步骤1中的一致,前缀可以不一致。定时任务的时间执行设置为每天晚上空闲时间执行一次。需要在定时任务脚本中写如下脚本:
var b=formatDate(dateAdd(today(),'dayofmonth',-1),'yyyy-MM-dd')   
param['sdate']=parseDate(b,'yyyy-MM-dd')   //参数sdate表示开始时间,昨天
param['edate']=parseDate(formatDate(today(),'yyyy-MM-dd'),'yyyy-MM-dd')   //参数edate表示结束时间  ,今天。

8.png


3.定时任务建好保存之后,打开这个定时任务增量导入数据的sql数据集 .在sql中使用定时任务中定义的两个参数。sql如下:
select * from test
where 1=1
<sdate> and date >= ?{sdate}  </sdate>
<edate> and date <?{edate} </edate>

4.定时任务每天执行之后会在永洪安装目录下对应位置生成一个zb文件,保存的就是定时任务增量的导入的数据。如图:


9.png


5.使用增量导入的数据,在数据集处新建集市查询,文件夹选择步骤1中定时任务设置的文件夹,刷新元数据,保存数据集之后就可以愉快的使用这个数据集制作报表了,每天数据集的数据会自动新增前一天的数据,报表中的数据也是每天都可以更新的,不需要每天手动更新。

操作过程中需要注意的问题:
1.定时任务执行成功了,但是数据集和报表的数据没有更新,原因可能是昨天没有数据库中没有新增数据,这种情况定时任务可以执行成功,但是底层不会生成zb文件。
2.脚本中开始时间和结束时间的定义需要根据需要修改,比如每月或每周导入一次数据。
3.定时任务执行的时间需要根据需要设置,最好选在空闲时候,比如晚上。





回复

使用道具 举报

精彩评论2

nicolezyyyy铂金一 发表于 2020-5-8 11:05:59
永洪tech-Bella 发表于 2017-8-10 17:22
问题:数据库中的数据每天更新,如何实现每天将前一天的数据追加到数据集市?

你好,如果我使用的是自服务数据集,里面很多个表,那么每个表都需要写这一段sql传递时间参数吗
支持 反对

有问题不能下班青铜二 显示全部楼层 发表于 2022-5-1 20:03:22
回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
50W

会员等你来哦

Copyright   ©2012-2024  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |《永洪社区协议》
返回顶部