在load的时候去掉sequential file的header和footer
今天在论坛看到的方法,先记录下来:
方法一:
在sequential file stage中有个属性可以ignore第一行。对于footer,如果footer使用了与正文不同的格式,可以用使用transformer stage和 @INROWNUM stage来将footer去掉。
方法二:
在sequential file的filter option中使用sed -e '$d' -e '1d'来讲header和footer去掉。
方法三:
写个before job subroutine,可以先对这个文件做各种处理,不过我想也是subroutine中调用DSExecute sed -e '$d' -e '1d'。当然Basic中也有专门对sequential file处理的函数。
posted @ 2007-08-13 19:37 羽翼渐丰 阅读(163) | 评论 (0) | 编辑 收藏
posted @ 2007-08-08 15:37 羽翼渐丰 阅读(406) | 评论 (0) | 编辑 收藏
trim会drop掉记录
当一条记录过来,某个字段为空,而在transformer中又对该字段trim了,由于该字段为空,不能trim,所以DataStage会认为这是个错误,从而把这个记录drop了,这与实际业务不符合,非主键字段为空并不能就把这条记录drop了。我们可以通过写一个判断来解决该问题:if LK_1.EMAIL <> '' then trim(LK_1.EMAIL) else LK_1.EMAIL
posted @ 2007-08-02 21:01 羽翼渐丰 阅读(147) | 评论 (0) | 编辑 收藏
DataStage中可以执行routine,命令行以控制的地方
1 before/after job和before/after stage,可以执行shell,命令行以及一些DataStage API,如DSJobReport
2 job sequence中有个stage,可以在里面写控制job调度的地方
3 每个job的properties中有个job control tab
4 命令行可以执行、导入job等,它通过dsjob实现,在DS Manager的文档中还讲了有专门的命令行来导入job
5 可以编写shell来控制job,对dsjob命令做封装,可以传入参数等。
对于上面这些概念还是很模糊,先记录在此。
posted @ 2007-08-02 19:29 羽翼渐丰 阅读(288) | 评论 (0) | 编辑 收藏
trim全为null的某个字段之后,输出为0
今天又碰到新问题,在transformer中,进去是有很多record,出来之后为0条record,用peek,看了一下,进去的数据的某个字段数据全为null,而在transformer中对此字段trim了,改为不trim就可以了。
posted @ 2007-08-02 15:21 羽翼渐丰 阅读(211) | 评论 (0) | 编辑 收藏
job一直运行,数据不能插入数据库
今天遇到一个问题,job不停的在那里运行,然后link上的数据显示各个环节都是正确的,包括最后插入数据库的link上也显示了数据,但是最后数据库里并没有数据。在Director的log中,日志在从两个源文件把所有数据load出来完之后,日志就死在那里了。
以前这个job是正确的,昨天由于重新load其中一个源文件的元数据,所以出现了上述问题。所以先前以为是由于load的新的源数据有问题,就从此处来找问题的原因,并且认为可能是改了元数据,在其他地方映射的时候有位置不对的地方,所以整了很久。因为以前是好好的,然后又以为是服务器的问题。
这都是定势思维的错误,然后又一急,所以浪费了很多时间,其实很多时候都是这样,出了问题我们不能理性的好好思考。
其实问题很简单:
如果我们按照正常逻辑来分析的话,既然不能读入数据库,肯定是数据不符合数据库对数据的约束,包括主键啊,非空啊,本问题就是由于在stage的不断流转中产生了很多空格,使得最后待插入的数据长度远远大于数据库中定义的字段长度。由于在那里不断reject,所以影响了速度,job一直在那里运行。最后用APT_STRING_PADDER,将其设为0x0(用null代替空格)搞定。
ps:在插入数据库时使用一个reject文件对查错有好处,这样能看到reject是些什么数据,然后就能知道为什么被reject了。
同时我们可以得出如果最后插入数据库时很多数据被reject,但是你并没有用一个reject文件来接收这些reject掉的数据,将使得job基本处于停滞状态。
posted @ 2007-08-01 17:33 羽翼渐丰 阅读(176) | 评论 (0) | 编辑 收藏
DataStage Job重置的三种方法
当一个Job跑到一半终止了要还原,在DS Director中主要有三种方法来还原:
1 Job-----Reset
2 Job-----Clear Status File
3 Job-----Cleanup Resource
具体细节也不懂,有时间慢慢研究
posted @ 2007-08-01 10:17 羽翼渐丰 阅读(192) | 评论 (0) | 编辑 收藏
Datastage快捷键
Datastage Desiner的快捷键
1 关闭某个job <Ctrl+F4>
2 <Ctrl+F6>同时打开了两个以上job,在不同的job之间切换。
Datastage Director的快捷键
posted @ 2007-07-24 17:00 羽翼渐丰 阅读(180) | 评论 (0) | 编辑 收藏
2008-7-23 12:06 回复
分享到:
相关推荐
datastage学习笔记 在学习过程中总结的一些经验
datastage学习笔记 ETL工具,CSDN好多都是编程开发的,很少有BI方面的。
IBM来做DataStage性能优化培训时所做的笔记
oracle datastage linux 数据仓库 ETL 相关安装配置文档
经验总结_DataStage学习datastage的文档,对于初学者很有帮助的
Datastage学习资料集合(分卷2) DataStage+V7.5在RHEL4+Linux下的安装.doc DataStage8.5安装手册1.0.docx DataStage_V7.5_学习总结.doc DATASTAGE——DATASTAGE经验积累.pdf DataStage企业版产品白皮书之一.doc ...
Datastage学习资料集合(分卷1)部分 DataStage+V7.5在RHEL4+Linux下的安装.doc DataStage8.5安装手册1.0.docx DataStage_V7.5_学习总结.doc DATASTAGE——DATASTAGE经验积累.pdf DataStage企业版产品白皮书之一....
Datastage种子资源
DataStage菜鸟入门文档适合datastage入门的学员
DataStage开发入门中文版本
DataStage学习版文档DataStage学习版文档DataStage学习版文档DataStage学习版文档
Datastage控件使用指南
DataStage7.5 Stage用法
datastage技术白皮书.pdf
Datastage安装配置指南,Datastage安装配置指南
DataStage常用函数大全.doc DataStage常用函数大全.doc DataStage常用函数大全.doc
DataStage Transformer 常用函数
etl 工具datastage 7.5 的下载地址
Datastage初级培训的PPT,希望可以帮到各位DATASTAGE初学者。
datastage培训