ODI知识模块改造及动态表名抽取数据
来源:互联网 发布:学英语软件排行榜知乎 编辑:程序博客网 时间:2024/05/16 05:34
公司项目背景:我们从下载平台抽取数据,下载平台数据有时会延期,导致可能一天追跑十几天数据。
数据按照日期格式下发,每天一张。
用ODI遇到的难题,如何实现数据快速追跑,表名变化,不用同义词,视图,是否可以实现,如果不是oracle数据库,无法用DBLINK如何办?
深入研究ODI,最后功能实现
现提供想法如下,对ODI变量要仔细区分,刷新变量,设置变量,计算变量,生命变量。
利用设置变量实现在一个事物中表名随着追跑日期变化
知识模块改造如下。
(HIWAN LKM SQL to Oracle)自定义知识模块
主要淘汰掉在数据层反复写数据的过程
具体步奏如下
1.create target table
create table #TABLE_NAME_DATE
(
<%=snpRef.getTargetColList("", "[COL_NAME]\t[DEST_CRE_DT] " + snpRef.getInfo("DEST_DDL_NULL"), ",\n\t", "")%>
)
2.runcate target table
truncate table #TABLE_NAME_DATE
3.Load data to target table
select <%=odiRef.getPop("DISTINCT_ROWS")%>
<%=odiRef.getColList("", "[EXPRESSION]\t[ALIAS_SEP] [CX_COL_NAME]", ",\n\t", "", "")%>
from #TABLE_NAME_DATE #TABLE_NAME_DEMO
where (1=1)
<%=odiRef.getFilter()%>
<%=odiRef.getJoin()%>
<%=odiRef.getJrnFilter()%>
<%=odiRef.getGrpBy()%>
<%=odiRef.getHaving()%>
-----------------------------------------------------------------------------------
要插入的表名及抽取数据的表名用变量代替
----------------------------------------------------------------
如果在包中不需要一次追跑几天数据,则可以借助改造snpw表中SNP_TABLE中源表和目标表名实现。
- ODI知识模块改造及动态表名抽取数据
- ODI知识模块
- ODI数据抽取教程_01设置数据源
- ODI数据抽取教程_03定时执行
- ODI知识模块--IKM Oracle Incremental Update
- ODI数据抽取教程_02创建简单项目
- ODI如何通过logminer技术从oracle 数据库中抽取增量数据(一)
- ODI如何通过logminer技术从oracle 数据库中抽取增量数据(二)
- ODI通过logminer技术从oracle 数据库中抽取增量数据1
- ODI如何通过logminer技术从oracle 数据库中抽取增量数据(一)
- ORACLE-数据抽取及备份
- ExtJS combo 从数据库抽取数据动态绑定下拉菜单及获取值
- ODI之知识模块(KM)学习笔记一(KM概括)
- ODI之知识模块(KM)学习笔记二(API 对象) .
- ODI 12C 打补丁----解决essbase和planning知识模块问题
- Mybatis 动态表名,插入数据
- Mybatis 动态表名,插入数据
- Mybatis 动态表名,查询数据
- Linux常用命令大全
- usaco2.32Cow Pedigrees
- 浏览器的工作原理 (前端必读)
- H.264的基本概念
- jQuery MiniUI V2.0 Ajax快速开发
- ODI知识模块改造及动态表名抽取数据
- Android如何自适应多种屏幕手机?
- CSS设置滚动条样式
- 英特尔进军低端 Android 平板市场挑战ARM
- libhesiod.so.0 is needed by autofs-1:5.0.5-23.el6.i686的解决方法
- 测试驱动开发
- U大师U盘装系统——安装原版WIN7系统教程(V1.1.0版)
- Cygwin 的安装
- MySQL中EXPLAIN解释命令详解