ITPUB??ì3
新一届的微软MVP评选已经开始,欢迎各位推荐!
ITPUB论坛 » 数据仓库与数据挖掘 » Datastage的参数传递

标题: Datastage的参数传递
离线 liangf215


来自 火星
精华贴数 0
个人空间 0
技术积分 1703 (978)
社区积分 706 (1151)
注册日期 2005-4-27
论坛徽章:5
会员2007贡献徽章生肖徽章2007版:鼠生肖徽章2007版:鼠ITPUB新首页上线纪念徽章  
      

发表于 2008-6-20 12:09 
Datastage的参数传递

传递参数主要是为了增量抽取,我的设计思想是这样:ETL控制表里存放每个主题每天要跑的数据的起始和截止时间(增量不一定跑的就是前一天的),然后从ETL控制表获取到当前主题本次跑数据的起始、截止时间,两个时间传递到数据源表的SQL里,得到本次的数据,然后进行处理,由于ETL控制表和数据源表在不同的库,不能直接在一个SQL里把数据源表和ETL控制表关联,各位有没有别的解决方案?要是传递参数,怎么把从ETL控制表获取的值赋给变量?


__________________
My Blog:www.mowoa.com 数据库 数据仓库

好铺好米http://6san.e.now.cn

MSN:zhang_wust@hotmail.com
即便一小步,也有新高度。做最好的自己,我能!!!
只看该作者    顶部
离线 Hot_mobile


来自 福建厦门
精华贴数 0
个人空间 0
技术积分 153 (11848)
社区积分 0 (1699248)
注册日期 2008-2-13
论坛徽章:2
2008北京奥运纪念徽章:击剑2008北京奥运纪念徽章:自行车    
      

发表于 2008-6-25 14:17 
关注中......................


只看该作者    顶部
离线 lynx286
陈永仁


精华贴数 0
个人空间 0
技术积分 1651 (1020)
社区积分 151 (2751)
注册日期 2003-7-23
论坛徽章:10
现任管理团队成员ITPUB元老管理团队2007贡献徽章参与2007年甲骨文全球大会(中国上海)纪念管理团队2006纪念徽章会员2007贡献徽章
会员2006贡献徽章授权会员生肖徽章2007版:龙ITPUB新首页上线纪念徽章  

发表于 2008-6-25 23:41 
用shell script读出参数表中得数据可以传过去。


__________________
只看该作者    顶部
离线 cuixuezheng
初级会员


来自 北京
精华贴数 0
个人空间 0
技术积分 260 (7489)
社区积分 1 (43098)
注册日期 2007-2-8
论坛徽章:0
      
      

发表于 2008-6-26 16:59 


QUOTE:
原帖由 lynx286 于 2008-6-25 23:41 发表
用shell script读出参数表中得数据可以传过去。

思路是什么?那个是DataStage来处理,怎么传呢?


__________________
天行健,君子以自强不息;地势坤,君子以厚德载物
只看该作者    顶部
离线 stenny
资深会员


精华贴数 1
个人空间 20
技术积分 2647 (585)
社区积分 830 (1049)
注册日期 2002-8-5
论坛徽章:7
ITPUB元老Heart of PUB会员2007贡献徽章授权会员2008北京奥运纪念徽章:射击2008年新春纪念徽章
ITPUB新首页上线纪念徽章     

发表于 2008-6-26 23:30 
在执行期传递动态参数有一个办法是酱紫滴(有点弱):

一个控制JOB (abc),包括:OCI-->TXN-->平文件
加一个routine: DSSetUserStatus

TXN中可以定义一个stage variable,根据OCI读出来的数据设定UserStatus
将该JOB abc 置于Job Sequence中,出来的Trigger Condition用abc.$UserStatus来决定job sequence的流向

PS:写完发现和楼主的要求有点出入,楼主能否解释详细些?


__________________
每个人都要做出选择.但最终,往往是选择决定了我们
只看该作者    顶部
离线 liangf215


来自 火星
精华贴数 0
个人空间 0
技术积分 1703 (978)
社区积分 706 (1151)
注册日期 2005-4-27
论坛徽章:5
会员2007贡献徽章生肖徽章2007版:鼠生肖徽章2007版:鼠ITPUB新首页上线纪念徽章  
      

发表于 2008-6-27 19:25 


QUOTE:
原帖由 lynx286 于 2008-6-25 23:41 发表
用shell script读出参数表中得数据可以传过去。

我也是这个思路,先按照规则更新数据库的参数表,然后再用shell给datastage的参数赋值,不知道还有没有好的办法,不通过shell的。


__________________
My Blog:www.mowoa.com 数据库 数据仓库

好铺好米http://6san.e.now.cn

MSN:zhang_wust@hotmail.com
即便一小步,也有新高度。做最好的自己,我能!!!
只看该作者    顶部
离线 ppgoml
初级会员



精华贴数 0
个人空间 0
技术积分 32 (38432)
社区积分 0 (490081)
注册日期 2005-6-29
论坛徽章:0
      
      

发表于 2008-7-5 11:22 
我们的做法是先将控制信息写到hash file 中,然后通过datastage sdk中的UtilityHashLookup()功能把参数取出来传给相应的job

希望对你有帮助


只看该作者    顶部
离线 jiashun_hu
初级会员



精华贴数 0
个人空间 0
技术积分 38 (34089)
社区积分 1 (40455)
注册日期 2006-3-8
论坛徽章:0
      
      

发表于 2008-7-8 14:50 
将参数写入文件,然后使用OSH读取文件中的值赋给参数。这可能是最常用的方法了。


只看该作者    顶部
 
    

相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问