当前位置: 代码迷 >> 综合 >> Transformer 全量更新与增量更新分批次独立数据源
  详细解决方案

Transformer 全量更新与增量更新分批次独立数据源

热度:35   发布时间:2023-12-12 03:26:31.0

【1.如果需要更新之前的历史数据,那么就不能增量更新,而需要全量更新】
【2.要更新历史数据只能全量吧。如果要增量更新,那个move要取消勾选】

全量更新:

在一定过滤条件下一次性加载所有数据,
该方式加载速度比较慢,但最终形成的cube访问效率较高

增量更新:

在一定的过滤条件下读取新数据,并将新数据堆积在原有立方体上,
该方式加载速度较快,但最终形成的cube的访问效率较低

增量加载的重要原则:

cognos cube增量加载是一个反复累积的过程,切记:
上一次增量加载后的mdl模型文件必须要保存,而且在下一次
数据加载之前不要对上次保存之后的mdl文件做任何改动(包括
重新刷新生成各维度的Categories),否则会报TR1901之类的
错误。

增量加载的两中方式:

Cube Group方式:在模型中添加一个新的Cube时设置 Cube Group选项,使得最终的cube按照日期(也可以是其他维度)进行分区,该方式将会按Cube Group设置时选择的维度生成一批子cube,Cognos将这些子cube用.vcd文件映射到最终的大cube上, 报表最终的数据源虽然是大cube,但实际访问的是以所选维度为 名称的子cube

优点:异常处理方便,当维度中某个区间的数据出现异常,
可以直接删除这个区间的子cube,对其他数据不存在影响。
缺点:占用内存空间大

Enable time-based partition方式:此时可以使用普通的cube,然后在cube的属性对话框的processing选项框中选中 “The cube is incrementally updated”,即可按照增量更新,但是 需要注意的是,Transformer本身不能分辨哪些是增量数据,因此每次加载前必须提供增量数据给Transformer(两种方式:iqd访问的表中只有增量数据;或者iqd里面的sql人为通过where条件限制数据)
优点:占用内存空间小
缺点:出现异常需要重新全量加载所有数据

分批次独立数据源

当一张表内存在太多批次的数据,且数据流庞大导致页面访问缓慢时,我们可以为每一个批次的数据建立一个独立的数据源,当用户访问报表目录时,首先跳出页面让用户筛选哪个批次的数据。
具体操作如下:

  1. 创建tranformer数据源的时候首先新建一个空的数据源,Linux和Windows的目录都只填入 “/”
  2. 然后点击进入数据源,在此基础上新建数据源,填写有效的mdc文件目录,形成多个独立的数据源然后点击进入数据源,在此基础上新建数据源,填写有效的mdc文件目录,形成多个独立的数据源
  3. 当用户访问报表的时候,会跳出页面提示,让用户选择需要的数据源进行访问
  相关解决方案