ODI使用技巧_01利用变量实现增量抽取
来源:互联网 发布:java反射作用 编辑:程序博客网 时间:2024/06/17 02:19
ODI使用技巧_01利用变量实现增量抽取
有时候由于数据量较多,我们不想每次都进行全表覆盖,如果你的源数据有规律增长的ID或者时间戳,就可以使用自定义变量的方式进行增量抽取。
进行本章之前需要先做以下前提工作:
1、有创建好的项目
2、已经将源数据和目标数据创建到模型中
如果前提工作已经做好,可以参考以下步骤进行设置:
1、 新建变量,输入变量名称,如果变量较多建议采用前缀来区分,因为是不能分文件夹的。
2、设置变量属性。
【定义】标签页:
- 数据类型:字母数字、文本、数值、日期。根据需要进行选择。
- 保留历史记录:该属性是设置是否将变量的历史值进行保存。如果值不是很大的话,建议保存,以便后续查找错误,如果要保存全部的话,要选择【所有值】。
- 安全值:如果启用,代表该值为保密的安全值,将不进行任何记录。一般来说只有密码等信息回使用安全值。
- 默认值:如果取不到值,则会采用默认值
【刷新】标签页:
选择逻辑方案,设置查询语句。
Oracle查询语句是不能带有分号的。
点击右上方的【测试】按钮测试语句是否正确。
点击右上方的【刷新】按钮,如果语句执行正确且前面选择的记录历史记录,那么在【历史记录】标签页能看到刷新的变量值。
在这里我们设置该变量值为目标表.创建时间 的最大值。
3、增加过滤器
在映射中的大部分位置均可以使用变量。在此处以过滤条件为例。
在之前的【创建简单项目】教程中介绍了直接进行两个表映射的方法。
此处在之前的基础上利用变量进行条件过滤。
从组件栏拖动【过滤器】到映射的逻辑设计界面,并使用连接线将过滤器连接到源表和目标表中间。
注意:将FILTER的默认名称进行修改。要不然在后期任务一增多,重名的FILTER会创建相同名称的临时表,两个作业时间重叠的话会造成任务执行失败。
4、设置过滤条件
选中过滤器,在【属性栏】可以看到过滤条件的属性,点击过滤条件右边的设置按钮,打开设置窗口进行条件设置。
在这里可以选用系统函数等,也可以直接选用项目变量。
我们设置条件,设置源表的创建时间>变量值(即目标表的创建时间的最大值)
5、验证映射
将设计视图切换到【物理】标签页,可以看到物理结构已经有了变化。
保存映射,运行。
运行完毕后,在【操作器】–》【会话】中能看到运行会话的结果,如果哪一个步骤出现错误,也能看到具体错误信息。
此处会出现错误,或者没有错误出现,但是数据抽取的有问题。有可能是条件没有起作用,也有可能是变量的值为空。
原因是 变量的值不能直接在映射中进行刷新,需要借助于程序包。
6、建立程序包
将变量拖动到程序包的设计窗口
将映射拖动到程序包的设计窗口
设置第一步变量刷新成功后执行第二部的映射
注意:第一步的变量的属性中一般信息设置为 【刷新变量】
保存程序包,运行程序包。
此时应该能够正确增量抽取数据。
- ODI使用技巧_01利用变量实现增量抽取
- ODI使用技巧_01利用变量实现增量抽取
- ODI数据抽取教程_01设置数据源
- SSIS利用变量来增量抽取
- 利用INFORMATICA实现增量数据的抽取与加载
- ODI如何通过logminer技术从oracle 数据库中抽取增量数据(一)
- ODI如何通过logminer技术从oracle 数据库中抽取增量数据(二)
- ODI通过logminer技术从oracle 数据库中抽取增量数据1
- ODI如何通过logminer技术从oracle 数据库中抽取增量数据(一)
- Kettle:利用设置变量(时间戳)实现数据增量更新
- datastage实现数据增量抽取方案
- ODI增量刷新
- 使用kettle进行增量抽取数据
- ODI利用CDC实现实时同步数据
- ODI如何通过logminer技术从oracle 9i或者10g中抽取增量数据(三)
- 【Android增量升级系列_01】 浅谈Android增量更新客户端的实现方法
- 【Android增量升级系列_01】 浅谈Android增量更新客户端的实现方法
- ODI环境搭建_01搭建Java环境
- KMP算法详细
- js代码实例
- MVP架构浅析
- 【C++】构造函数
- 实战 Lucene,第 1 部分: 初识 Lucene
- ODI使用技巧_01利用变量实现增量抽取
- 矩阵求导
- 用户认证(四)【确认账户】
- 微信浏览器缓存问题
- Qt如何解决Retina屏幕密度引起的问题
- 第五周项目1(9)斐波那契数列
- 【汇总】2008-2016年东南大学建筑学历年考研报录比
- 如何查看自己刚刚执行的SQL
- Java常见面试题及答案