大家在做ETL时候使用什么工具?

yorgo 2002-04-11 04:43:48
不会都是写角本吧

事实表中很多都是外键,那些int型的ID怎么确定呀

脚本写得很长,很费劲儿
...全文
265 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
yorgo 2002-04-16
  • 打赏
  • 举报
回复
嗯,我已经有些体会了,目前在欢快的使用DTS. hehe
jinnee 2002-04-15
  • 打赏
  • 举报
回复
没错,烦得入卵。
Tommy Chang 2002-04-15
  • 打赏
  • 举报
回复
1. datastage中汇总专门有一个叫aggregator的插件,抽取的同时可以做sum,avg,count,max,min和标准差,不依赖于数据库实现,并不要脚本啊
2. 时间维很多时候是前期就一次生成一大堆记录,将未来N年都导入时间维
3. 维表在转换的时候也经常要用到来做关联,如果用datastage来关联数据可以做到根据是否能够关联成功来作为过滤条件,从而跳出是需要做insert还是要update,或者直接用其数据库插件来实现insert or update或update or insert这种操作,也不用脚本啊
4. owb在oracle的报价书上不是免费的,安装也一定要装到oracle数据库里面,是个pl/sql的代码生成器。转换不复杂而且大多数数据源都是oracle的话倒也不错。
5. jinnee所讲的方法是典型手写程序的思路,用工具的大方向也很接近,部分处理可以在工具中实现,节省在数据库中直接操作sql的工作量和复杂性,改起来容易。客户需求变来变去的时候,改抽取工程确实太烦了

:)
yuanque 2002-04-12
  • 打赏
  • 举报
回复
我搞过的东东一般是这样的,维度表数据一般是在抽取之前(或都抽取的第一步工作)就装载好了的,很少变动,即使变动也不用写脚来导的(可以写维护程序),事实上需要导的是大量的事实数据。
Tommy Chang 2002-04-12
  • 打赏
  • 举报
回复
这些在工具里面不用写脚本啊?DataStage里面图形化有个叫transformer的插件,可以跟维表做关联取的id。

fact table中int的id实际上是从维表过来的,转换过程中通过将明细数据跟维表关联,取出外键id的,实在不知你说的脚本是用来做啥的。除非是用来生成维表中的id,这也很容易,不需要脚本啊。

:)
yorgo 2002-04-12
  • 打赏
  • 举报
回复
我的逻辑是这样的,不知道对不对,请大家指正

构建好所有的维度表、实事表。编写脚本向这些表填写数据。
维度表中有定量的数据时,先批量将该维度表的数据填充。
如果维度表的数据不是定量的而是变化的话,则在遇到新的数据的时候自动填加新的维度表内容

开始填加事实表
取原数据,根据数据判断每个维度表来确认各自的id,如果遇到没有的维度内容还需要即时插入数据,获得维度id,然后将汇总的维度id和事实数据插入事实表。然后再进行下一条记录

我的问题是,真的每一次都是要这样痛苦吗?还有更好的方法吗?
xia_yu 2002-04-12
  • 打赏
  • 举报
回复
DTS,T-sql
工具
yuanque 2002-04-12
  • 打赏
  • 举报
回复
不可能不写脚本,单纯生成ID倒不件难事。比如说:汇总就要写大量的脚本。
jinnee 2002-04-12
  • 打赏
  • 举报
回复
你的过程有点问题。
做ETL的时候,第一步应该是把那些散的数据集中到一个地方来,比如,不管是ACCESS上的,还是oracle上的,全部先转到SQL上再说(当然,有时也可灵活运用),这样就可以在一个统一的环境下进行数据清洗,不管你用什么方法吧(其实这步大多数情况下不太重要),做完清洗后,就可以想些办法把你要的数据仓库建立起来了,比如做些计算汇总啊等等。最后再将这些数据装到多维数据库中,第一步是更新维度表,第二步更新事实表,然后才可以装到多维库中。
jinnee 2002-04-12
  • 打赏
  • 举报
回复
维度表有时也是每天都要更新的啊,一次导入很多天估计不行吧,比如说不定期的放假,如果你也放进去了,成员就多了一个。我的做法是要更新的维度表还是每天更新的,反正天天都要运行脚本算事实表的。
hzwantfly 2002-04-12
  • 打赏
  • 举报
回复
忘了说,oracle datawarehousing builder可以到oracle网站上免费down,这软件本身就是free的
hzwantfly 2002-04-12
  • 打赏
  • 举报
回复
oracle datawarehousing builder
yorgo 2002-04-12
  • 打赏
  • 举报
回复
但是例如时间维度,会跟着时间的变化而变化呀,一次性到入一定量的时间维度?
warning 2002-04-11
  • 打赏
  • 举报
回复
感觉微软的DTS还可以,datastage也不错
脚本还是要写的
yuanque 2002-04-11
  • 打赏
  • 举报
回复
我以前是写了很多的存储过程的。
听说过一些工具如:DATASTAGE、DATAJUNCTION,可以用,但是脚本是省不了的啦。
ETL是数据仓库建设中最烦的环节……

7,388

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 数据仓库
社区管理员
  • 数据仓库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧