datastage常见的开发工作.docx

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本文档涉及到的处理方式有:数据类型转换,表的连接,计算。 工作需求:从给定的文本中读取数据,经过数据类型的转化,并计算后写入给 定文本文件或者数据库中。 例1 :数据源:Staff.txt 要求:求不同的工作种类的总工资和平均工资。 1.源数据分析,数据如下: 所要分析的内容有:分隔符(delimiter),是空格,单引号,双引- 号等等。 是否存在空值,如下图中 YEARS和COMM字段中存在下划线。 字段中记录的最大长度,如下图中共有七个字段,要记录每个字段的最大长度是多少。 -记事本 立件楚)编辑⑥ 榕式? 查看? 帮助⑩ ID HAI1E DEPT JOB YEARS SALARY COMM 10 Sanders 2& Mgr 7 18357.50 - Pernal 20 Sales 8 18171.25 612.45 30 Mar@nghi 3fl Mgr 5 17506.75 - nc 0'Brien 38 Sales 6 18006.00 8M.55 50 Hanes 15 Mgr 1Q 20659.&B — 60 Quigley 38 Sales 16806.30 450.25 Rothnan 15 Sales 16502.83 1152.00 80 James 20 Clerk — 13504.66 12S.20 90 Koonitz 42 Sales 6 18001.75 1386.70 100 Plotz 蚯Mgr 7 18352.SO — 110 Ngan 15 Clerk 5 1250S.2B 206.60 126 Naughton 38 Clerk 1295U.75 180.00 130 Yanaguchi 1*2 Clerk 6 10505.90 75.60 1^0 Fraye 51 Mgr 6 21150.00 — 150 Willians 51 Sales 6 19456.50 637.65 160 Mollnare 1Q Mgr 7 22959.20 - 170 Kernisch 15 Clerk 12258.50 110.10 180 Abrahams Clerk 3 12009.75 236.50 190 Sneider 20 Clerk 8 14252.75 126.50 缈 Scoutten 蚯 Clerk 11S08.60 &20 210 Lu 1 0 Mgr 10 20010.00 — Smith 51 Sales 7 17654.&0 992.80 Lundquist 51 Clerk 3 13969.80 189.65 Daniels 1 0 Ngr 5 19260.25 250 Wheeler 51 Clerk 6 14460.00 513.30 260 Jori^s 1 0 Mgr 12 21234.0Q - 270 Lea 66 Mgr 9 18555.50 280 Wilson 66 Sales 9 18671*. 50 911.50 Quill 84 Mgr 10 19S1S.0Q - 3卵 Dauls 84 Sales 5 15454.50 806.10 2.需求分析:最终的需求是不同工作种类的平均工资和总工资。从源数据可以看出, 共有3种JOB: Sales Clerk、Mgr。另外需要的字段就是 SALARY,其他字段都是多 余的。由此可以确定使用 Sequential File Stage读取数据后,即可使用 Copy Stage过 滤掉多余的字段。因为源数据在文本形式下都是字符型,我们用 Varchar型来读取数 据,需要转换成实际的类型。如 SALARY的类型,应该是 Decimal类型。或者是Int 型,double型的。故接下来的转换会用到 Transformer Stage进行数据类型的转换。假 设已经转换成功,接下来要做的是分组和计算了。故需要使用 Aggegator Stage在使用 Aggegator Stage时就能够分组并计算出总的工资, 但是要算平均工资的时候, 需要分组 计算出每种 JOB共有人,即分组计算不同 JOB下的记录数。同样是使用 Aggegator Stage,但是没有办法在同一个里面实现, 故采用两个 Aggegator Stage之后使用Lookup Stage做连接。后 再使用Transformer Stage,求平均工资。最后写入文本或者数据库中。 详细设计如下图: 顺便赘述一下,源数据的文本文件是预先存放在 DS的服务器上的,所以我们才能读取。 详细开发步骤如下: 1.编辑(l)Output > Properties 中有一点要注意,当源数据的第一行是列名时选择: True Sequential_File_0

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档