反馈已提交

网络繁忙

增量增加示例

  • 文档创建者:Roxy
  • 编辑次数:30次
  • 最近更新:Lily.Wang 于 2021-11-10
  • 1. 概述

    1.1 背景

    数据库中有一张表,每天都会新增当天数据。这张表数据量很大,如果每天更新整张表的话,需要更新很长时间。

    1.2 解决思路

    使用「增量更新」,只将每天新增的数据更新到 FineBI 中。这样就不需要更新整张数据表,节省了更新时间和更新资源。

    由于增量增加过程中经常需要将数据库中的数据和系统更新时间做比较,所以有时间戳的表更适合做增量更新。

    2. 操作步骤

    把 MySQL 数据库中的「客户注册信息表」添加到 FineBI ,详细操作请参见:添加数据库表

    如下图可看到该表中有时间戳字段「注册日期」。

    41.png

    2.1 设置增量增加

    1)在 FineBI 中找到「客户注册信息表」,选择「更新信息>单表更新」。如下图所示:

    39.png

    2)进入到单表更新设置页面,选择「增量增加」,输入取数的 SQL 语句,如下图所示:

    输入的 SQL 语句需要与使用的数据库语言同步,本示例使用的是 MySQL 。

    42.png

    SELECT * FROM 客户注册信息表 where 注册日期 > str_to_date('上次更新时间','%Y-%m-%d %H:%i:%s')

    该 SQL 语句取出「注册日期」大于「上次更新时间」的数据后,系统会再将数据增加到 FineBI 中,实现增量更新。其中 str_to_date函数用于将「上次更新时间」从字符串转化为日期类型。若使用的是其他数据库,需要使用其他数据库适配的函数。

    系统参数说明

    上次更新时间


    • 表示上一次更新开始的时间

    • 该参数为文本类型的年月日时分秒(例如:2017-12-22 12:00:00),需要通过函数将其转化为时间类型,才能与其他时间类型的字段做对比

    • 「上次更新时间」必须点击添加,不能复制添加 

    • 可用 ${_last_update_time_} 代替,本示例的 SQL 语句可写为SELECT * FROM 客户注册信息表 where 注册日期 > str_to_date('${_last_update_time_}','%Y-%m-%d %H:%i:%s')

    当前更新时间
    • 表示本次更新的开始时间

    • 该参数为文本类型的年月日时分秒(例如:2019-12-22 12:00:00),需要通过函数将其转化为时间类型,才能与其他时间类型的字段做对比

    • 「上次更新时间」必须点击添加,不能复制添加 

    • 可用 ${_current_update_time_} 代替

    注:「增量更新」是以行为单位的,增量增加是对 FineBI 中保存的数据表直接添加行。

    3)点击「预览」,可以查看到 SQL 语句中取出来的数据,如下图所示:

    43.png

    若是预览失败,可以将 SQL 语句中的「系统参数」替换为固定日期值,在自己的数据库中测试一下语句是否正确。

    4)点击「增量更新>确定」,可以立即对数据进行增量更新,如下图所示:

    44.png

    2.2 效果查看

    更新完成后查看「客户注册信息表」的更新信息,增量更新后该表增加了两条数据,如下图所示:

    45.png

    在数据预览界面,也可以看到增量更新增加的数据,如下图所示:

    46.png

    2.3 设置定时增量更新

    若用户希望可以设置定时增量更新,该如何操作呢?

    重新进入更新设置界面,点击「定时更新」,更新方式设置「增量更新」,设置更新方式为每天更新一次。如下图所示:

    47.png

    定时更新详细设置方式可参见:定时更新

    附件列表


    主题: 数据准备
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!

    售前咨询电话

    400-811-8890转1

    在线技术支持

    在线QQ:800049425

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526

    文 档反 馈

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭