博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Datastage里Aggregator的一些注意事项
阅读量:6946 次
发布时间:2019-06-27

本文共 1210 字,大约阅读时间需要 4 分钟。

软件:DataStage 8.1

Aggregator的ouput有两种,calculation和count,这两种output列都是自动转成nullable的,也就是Null属性是Yes。而数据类型会自动变成Double。不要奇怪,Count的output也是double而不是认为的integer。

因为Datastage的integer只支持到2147483647。

因为计算结果会变成nullable,因为会变成double,我们需要在后面加一个Modify或者Transformer来处理。

 

一。Null的处理

在Modify Stage中可以用newcolumn=HandleNull(OldColumn)

在Transformer中可以用NullToValue(oldcolumn)

 

二。decimal->integer的处理

一般的9及以下长度的decimal,如decimal(9,0)这样的,可以直接用modify的newcolumn:int32=int32_from_decimal(oldcolumn)

或者Transformer的AsInteger(oldcolumn)

但是由于Datastage的integer只支持到2147483647,而decimal(10,0)可能会出现3×××××××××的情况,所以系统会报range limitation的错误

。解决方法是用modify的newcolumn:int64=int64_from_decimal(oldcolumn),同时列类型改成bigint  。同理可用transformer的asinteger(这个方法本人实践时依旧报错,时间有限来不及研究原因,但是网上搜索出来这样可行)

还有一种方法,整个job都使用decimal,在目标DB connector的地方改写insert语句,用cast。

有人问cast怎么写,用sqlbuilder来生成一段sql,然后把要改的字段改成cast(colname as integer),注意这个仍然会报range limiation.本人尝试过把DB connector的fail on type mismatch, fail on length mismatch都改成No,依旧报warning并且最后会出错。本人最后的办法是改成了9,但是如果是真的一定要10,也许要cast (colname as bigint),但是这样不确定DB connector到数据库会不会mismatch了。以后有空再试吧。

奇怪的是datastage允许有integer10的类型,但是转换成integer10就会有问题。即使数据库会允许10位的integer。

 

 

转载于:https://www.cnblogs.com/ImToffee/archive/2012/09/21/2695972.html

你可能感兴趣的文章
OC 实例变量(Instance Var)和成员变量(member var)区别
查看>>
hdu 1542 Atlantis 段树区,并寻求,,,尼玛真坑人数据,不要打开一小阵!
查看>>
ssh 登录出现的几种错误以及解决办法
查看>>
Win7 OpenCV 3.0.0 VS2013 环境配置
查看>>
Deep Learning 深度学习 学习教程网站集锦(转)
查看>>
[转]"由于这台计算机没有远程桌面客户端访问许可证,远程会话被中断"的解决方案...
查看>>
构建自己的Java并发模型框架
查看>>
fusionchart实现ZoomLine 源码 破解版 能够导出
查看>>
iframe动态创建及释放内存
查看>>
ORACLE工作原理小结
查看>>
LeetCode - Populating Next Right Pointers in Each Node
查看>>
管理团队时,怎样保证一直做正确的事?
查看>>
如果应用程序正在通过 <identity impersonate="true"/> 模拟,则标识将为匿名用户(通常为 IUSR_MACHINENAME)或经过身份验证的请求用户。...
查看>>
Oozie入门
查看>>
myeclipse一直bulid workspace 的解决
查看>>
表单元素之搭车系
查看>>
mysql+redis
查看>>
[Android]Dagger2Metrics - 测量DI图表初始化的性能(翻译)
查看>>
sublime开启vim模式
查看>>
Rikka with Chess(规律)
查看>>