ÕªÒª:
±¾ÎÄͨ¹ýʵÀýÈÃʹÓÃÕßÄܹ»¸üÏêϸµÄÁ˽â Transformer Stage ×é¼þÔÚ DataStage job
¿ª·¢ÖеÄ×÷Óã¬Áé»îÕÆÎÕÌØ¶¨ÐÔÄܵĿª·¢¼¼ÇÉ¡£×÷Ϊ DataStage job ÖÐ×îÎªÖØÒªµÄ×é¼þ£¬ÓÅ»¯²¢ÇÒÔÚʹÓùý³ÌÖиüºÃµÄÔËÓÃÆäÌæ´ú×é¼þ£¬Ê¹
...
IBM InfoSphere DataStage ÊÇÒµ½çÖ÷Á÷µÄ ETL(Extract, Transform,
Load) ¹¤¾ß£¬ËüʹÓÃÁË Client-Server ¼Ü¹¹£¬ÔÚ·þÎñÆ÷¶Ë´æ´¢ËùÓеÄÏîÄ¿ºÍÔªÊý¾Ý£¬²¢Ö§³ÖÔÚ¶àÖØÊý¾Ý½á¹¹ÖжԴóÁ¿Êý¾Ý½øÐÐÊÕ¼¯¡¢ÕûºÏºÍת»»¡£¿Í»§¶Ë
DataStage Designer ΪÕû¸ö ETL ¹ý³ÌÌṩÁËÒ»¸öͼÐλ¯µÄ¿ª·¢»·¾³£¬Óû§ÔÚ Designer
ÖÐ¶Ô DataStage Job µÄ½øÐÐÉè¼ÆºÍ¿ª·¢¡£DataStage ÖÐÌṩÁ˶à¸ö¹ý³Ì´¦Àí Stage
À´Âú×ã ETL µÄÐèÒª£¬È»¶ø Transformer Stage ÔÚÕâЩ Stage ÖÐÓÃ;ºÍʹÓ÷½·¨×îΪ¹ã·º£¬±¾ÎĽ«¶Ô
Transformer Stage ÔÚ ETL ¹ý³ÌÖеÄÓ÷¨¼°ÊµÏֵŦÄÜ×ö³öÏ꾡ÃèÊö¡£±¾ÎÄÖÐÉæ¼°µ½ IBM
InfoSphere DataStage Ϊ IBM Information Server 8.0.1
°æ±¾¡£
Transformer Stage ×é¼þ½éÉÜ
Transformer Stage ÔÚ DataStage ÖÐÊÇÒ»¸öÖØÒªµÄ£¬¹¦ÄÜÇ¿´óµÄ×é¼þ£¬ÔÚ ETL
¹ý³ÌÖУ¬Ëü³Ðµ£¡°T¡±( ¼´Êý¾ÝµÄת»¯ ) µÄÔðÈΡ£ÔÚ Transformer Stage ÖпÉÒÔÖ¸¶¨Êý¾ÝµÄÀ´Ô´ºÍÄ¿µÄµØ£¬Æ¥Åä¶ÔÓ¦ÊäÈë×ֶκÍÊä³ö×ֶΣ¬²¢Ö¸¶¨×ª»»¹æÔòºÍÔ¼ÊøÌõ¼þ¡£
ͼ 1. Transformer Stage ÔËÓÃÔÚ DataStage
job ÖеÄÔËÓÃ

ͼ 2. Transformer Stage ÁÐÓ³ÉäÓë×ֶαí´ïʽ

Transformer Stage ÔÚ DataStage job
ÖпÉʵÏֵŦÄܼ°°¸Àý·ÖÎö
1. ×Ö¶Îת»»
×Ö¶Îת»»ÊÇ Transformer Stage ÖÐ×î³£¼ûµÄÒ»¸ö¹¦ÄÜ£¬ËüÄܹ»½«Ô´Êý¾Ý¸ù¾ÝÒ»¶¨µÄ¹æ¸ñת»»³ÉΪĿ±êÊý¾Ý¡£ÏÂÃæ½«ÒÔ
ETL ¹ý³ÌÖбȽϳ£¼ûµÄ Date Óë Timestamp Ï໥ת»»ÎªÀý£¬ËµÃ÷×Ö¶Îת»»µÄʵÏÖ·½Ê½¡£
1.1 Ô´Êý¾ÝÀàÐÍΪ Timestamp£¬Ä¿±êÀàÐÍΪ Date
Çåµ¥ 1. ʱ¼äת»»º¯Êý
TimestampToDate(in.ADD_DATE) |
ͼ 3. ×Ö¶Îת»»±í´ïʽ

ͼ 4. ×Ö¶Îת»»Ç°ºó¶Ô±È

1.2 Ô´Êý¾ÝÀàÐÍΪ Date£¬Ä¿±êÀàÐÍΪ Timestamp
ÕâÖÖת»»ÐèÒª½« Date ÀàÐÍÏÈת»»Îª Varchar ÀàÐÍ£¬ÔÙ½« Varchar ²¹Æë Timestamp
ËùÐèµÄʱ·ÖÃëµÄ×Ö·û£¬ÔÙת»»Îª Timestamp ÀàÐÍ
Çåµ¥ 2. ʱ¼äת»»º¯Êý
StringToTimestamp((DateToString(in.ADD_DATE,"%yyyy-%mm-%dd"):' 00:00:00'), "%yyyy-%mm-%dd %hh:%nn:%ss") |
ͼ 5. ×Ö¶Îת»»±í´ïʽ

ͼ 6. ×Ö¶Îת»»Ç°ºó¶Ô±È

1.3 ÆäËûÀàÐ͵Äת»»
DataStage ÌṩÁ˷ḻµÄ×Ö¶Îת»»µÄº¯Êý£¬ÏÂͼΪ×Ö¶Îת»»º¯ÊýÁÐ±í¡£Óû§¿É¸ù¾Ý×Ô¼ºµÄʵ¼ÊÐèÇóѡȡÆäÖÐ×î¼ò±ãµÄ·½Ê½ÊµÏÖת»»¡£
ͼ 7. Parallel job ÖеÄ×Ö¶Îת»»º¯Êý

2. ×Ö¶ÎÂß¼ÔËËã¼°ÅжÏ
ÀûÓà Transformer Stage ½øÐÐ×ֶμäµÄÔËËã¼°Åжϣ¬¸Ã¹¦ÄܵÈͬÓÚ SQL ÖеÄÂß¼ÔËËãÓëÅжϡ£
ÏÂͼΪ¸ù¾ÝÔ´×ֶγ¤¶È·µ»ØÄ¿±ê×ֶεÄÖµ¡£Transformer Stage ¸ù¾ÝÂß¼ÅжϽ«·µ»Ø¡® YES
¡¯ , ¡¯ NO ¡¯ ºÍ NLLL Èý¸öÖµ
Çåµ¥ 3. Âß¼ÔËËã±í´ïʽ
IF Len(trim(in.CLASS_CODE)) < 10 THEN 'NO' ELSE IF Len(trim(in.CLASS_CODE)) = 10 THEN 'YES' ELSE SetNull() |
ͼ 8. ×Ö¶ÎÂß¼ÔËËã±í´ïʽ

3. Êý¾Ý¸´ÖÆ
ETL µÄ¹ý³ÌÖпÉÄÜ»áÓÐͬһ¸öÊý¾ÝÁ÷ÐèÒª±»¸´ÖÆ£¬²¢ÓÃ×÷²»Í¬Ä¿±êµÄÊä³ö·½Ê½µÄÇé¿ö£¬Õâʱ Transformer
Stage ¾Í½øÐмòµ¥µÄ×ֶθ´ÖÆÀ´ÊµÏÖ¡£Óû§¿É½«±»¸´ÖƵÄÁÐÓ³ÉäÑ¡ÖУ¬Ö±½ÓÍÏ×§µ½¸´ÖƵÄÁÐÓ³ÉäÖÐÈ¥£¬²¢ÉèÖÃÊä³ö
Stage ÊôÐÔ¡£
ͼ 9. copy link ¼´Îª out link µÄ¸´ÖÆÊý¾ÝÁ÷

ͼ 10. ¸´ÖƵÄÊý¾ÝÁ÷±£Ö¤Êý¾ÝÁÐÓ³ÉäµÄÒ»ÖÂÐÔ

4. Êý¾Ý¹ýÂË
Êý¾Ý¹ýÂ˹¦ÄÜÏ൱ÓÚ SQL ÖÐµÄ where Óï¾ä£¬Transformer Stage ÖÐÊý¾Ý¹ýÂ˵ÄÓÅÊÆÔÚÓÚ£¬¿ÉÒÔ¸ù¾Ý²»Í¬µÄÂß¼£¬ÔÚ
stage дÈ벻ͬµÄÌõ¼þÏÞÖÆÀ´Êä³öÊý¾Ý¡£
ÏÂͼÖУ¬ Ë«»÷ Transformer Stage ÖÐµÄ Constraints ÊôÐÔ°´Å¥£¬ÔÚµ¯³öµÄ´°¿ÚÖлáÏÔʾÿ¸ö
link ¶ÔÓ¦µÄÊôÐÔ¿ò£¬¿ÉÒÔ¸ù¾Ý¾ßÌåµÄÒµÎñÂß¼£¬Ìîдÿ¸ö link µÄÔ¼ÊøÌõ¼þ£¬ÕâÑù Transformer
Stage ¾Í»á¸ù¾ÝÏàÓ¦µÄÌõ¼þÊä³ö±»Ô¼ÊøºóµÄÊý¾Ý¡£
ͼ 11. Transformer Stage ÖеÄÔ¼Êø±í´ïʽ

5. ×ֶιØÁª
Transformer Stage ʵÏÖ×ֶιØÁªµÄ¹¦ÄܽöÏÞÓÚ Server job ÖС£Transform
stage ¿ÉÒÔ¸ù¾ÝÊý¾ÝÔ´ËùÉú³ÉµÄ Hash File ÖÐµÄ Key Öµ£¬ÓëÖ÷Êý¾Ý½øÐйØÁª£¬ÊµÏÖ·½Ê½µÈ¼ÛÓÚÊý¾Ý¿âÖÐµÄ±í¹ØÁª¡£ÏÂͼ
job ÒÔÒ»¸öÖ÷±í¹ØÁªÁ½¸öά±íΪÀý£¬×ö³öÏêϸ˵Ã÷¡£
ÏÂͼÖУ¬ Ë«»÷ Transformer Stage ÖÐµÄ Constraints ÊôÐÔ°´Å¥£¬ÔÚµ¯³öµÄ´°¿ÚÖлáÏÔʾÿ¸ö
link ¶ÔÓ¦µÄÊôÐÔ¿ò£¬¿ÉÒÔ¸ù¾Ý¾ßÌåµÄÒµÎñÂß¼£¬Ìîдÿ¸ö link µÄÔ¼ÊøÌõ¼þ£¬ÕâÑù Transformer
Stage ¾Í»á¸ù¾ÝÏàÓ¦µÄÌõ¼þÊä³ö±»Ô¼ÊøºóµÄÊý¾Ý¡£
ͼ 12. Transformer Stage ÔÚ Server job
ÖеÄÊý¾Ý¹ØÁªÓ÷¨

Job ÖеÄÖ÷Êý¾ÝÓëÁ½¸öά±í£¬Í¨¹ýÒÔÏÂÁ½¸ö¹ØÁª×ֶεıí´ïʽ½øÐйØÁª£¬Óû§¿ÉÒÔ¸ù¾Ý DataStage ÌṩµÄ
Server job º¯Êý¶Ô¹ØÁª×ֶνøÐÐÔ¤´¦Àí£¬±£³Ö¹ØÁª×ֶεÄÀàÐͺͳ¤¶ÈÒ»Ö¡£
Çåµ¥ 4. ¹ØÁª×ֶδ¦Àí±í´ïʽ
TRIM(Master_data.CNTRY_CODE) SUBSTRINGS(Master_data.CNT_AUDIT_DATE,1,10) |
ͼ 13. ¹ØÁªÌõ¼þ±í´ïʽ¼°ÁÐÓ³Éä

Transformer Stage µÄ×Ô¶¨Ò庯Êý¼°±äÁ¿
1. ×Ô¶¨Ò庯ÊýµÄʹÓÃ
DataStage ÖÐÌṩÁË Routines º¯Êý¹¦ÄÜ£¬Routines
ÊÇÒ»¸ö·Ç³£Ç¿´óµÄÄÚÖú¯Êý¿â¹©¿ª·¢ÈËԱʹÓ㬵±È»ÔÙ¶àµÄº¯ÊýÒ²ÓпÉÄÜÂú×ã²»ÁËÌØ¶¨µÄÒµÎñÐèÇó£¬Òò´Ë¿ª·¢ÈËÔ±Ò²¿ÉÒÔ¿ª·¢×Ô¶¨ÒåµÄ
Routines º¯Êý£¬È»ºó½«ÆäÓÃÓÚת»»¹ý³Ì¡£Í¨¹ýÏÂÃæµÄʵÀý¿ª·¢ÈËÔ±¿ÉÒÔÁ˽âÈçºÎ¿ª·¢Ò»¸ö Routines
º¯Êý²¢ÔÚ Transform Stage ÖнøÐе÷ÓᣠÊ×ÏÈн¨Ò»¸ö Routines£¬¸ù¾Ý¾ßÌå Transform
Stage ʹÓÃÇé¿ö¿ÉÒÔÑ¡Ôñ Server »òÕß Parallel Routine¡£
ͼ 14. н¨ Routine
ÔÚ General ±êǩҳ£¬ÃüÃûÆäΪ TestRoutine
ͼ 15. ÃüÃû Routine

Çл»ÖÁ Arguments ±êǩҳ£¬¶¨Ò庯ÊýÊäÈë²ÎÊý£¬ÈçÏÂͼËùʾ£¬ÎÒÃǶ¨ÒåÒ»¸öÊäÈë²ÎÊý inputpara
ͼ 16. ¶¨Òå Routine ÊäÈë²ÎÊý

Çл»ÖÁ Code ±êǩҳ£¬ÔÚÕâÀï±àдʵ¼ÊµÄ´úÂëÂß¼
±£´æ´úÂëºó£¬µã»÷ Compile °´Å¥£¬È»ºóͨ¹ý Test ½çÃæ½øÐÐÏà¹Ø²âÊÔÒÔÈ·±£º¯ÊýÂß¼×¼±¸¡£
Çåµ¥ 5. ×Ô¶¨Ò庯Êý±àÂë
* Èç¹ûÊäÈë²ÎÊýΪ¿Õ»òÕ߿մ®£¬·µ»Ø¡® BLANK ¡¯ Èç¹ûÊäÈë²ÎÊýСÓÚ 10£¬Ôò×Ô¼Ó 1£¬·ñÔò·µ»Ø ¡¯ Great than 10 ¡¯ * If inputpara="" OR IsNull(inputpara) Then Ans="BLANK" GoTo ExitFunc End If inputpara<=10 Then Ans=inputpara +1 End Else Ans="Great than 10" End ExitFunc: |
ͼ 17. ¶¨Òå Routine ÊäÈë²ÎÊý

Èç¹ûÐèÒªÔÚ Transform Stage ÖжÔÏàÓ¦×ֶνøÐк¯Êýµ÷Óõϰ£¬´ò¿ª Transformer
Stage Property ÊôÐÔÒ³£¬Ñ¡ÖÐËùÐèÐ޸ĵÄ×ֶΣ¬µã»÷ÒýÓð´Å¥£¬Ñ¡ÔñÈçͼ 16 ËùʾµÄ DS Routine£¬¼´¿É½øÐÐÏà¹Ø²Ù×÷¡£
ͼ 18. ÔÚ Transform Stage ÖÐÒýÓú¯Êý

2. ½×¶Î±äÁ¿ Stage Variables µÄʹÓÃ
DataStage Öл¹ÌṩÁË Stage Variables ÕâÖֽ׶αäÁ¿µÄ·½Ê½À´ÊµÏÖ¸´ÔÓÂß¼µÄ´¦Àí£¬²¢Ìá¸ß´¦ÀíЧÂÊ¡£Transformer
Stage ¿ÉÒÔ¶¨ÒåÒ»¸ö Stage Variables£¬½«×Ö¶ÎµÄ Derivation ¸³ÖµÎª Stage
Variables£¬¼õÉÙÒ»´Î»òÕß¶à´Î¼ÆËãÁ¿¡£Stage Variables ÊǶÔÓÚ job ¼¶±ðµÄ±äÁ¿£¬Òò¶ø²»ÄÜÖ±½ÓÔÚÕû¸ö
project Öб»µ÷Óá£Í¨¹ýÏÂÃæµÄʵÀý¿ª·¢ÈËÔ±¿ÉÒÔÁ˽âÈçºÎ¿ª·¢Ò»¸ö Stage Variables ²¢ÔÚ
Transform Stage ÖнøÐе÷Óá£ÊµÀýÖÐµÄ Stage Variables ÓÃÀ´Éú³ÉͬһÅúÊý¾Ý¼ÓÔØÖеÄΨһ¼ü¡£Ë«»÷
Transformer Stage ÖÐµÄ stage properties ÊôÐÔ°´Å¥£¬ÔÚµ¯³öµÄ´°¿ÚÑ¡ÖÐ
Variables ҳǩ£¬¶¨ÒåÒ»¸ö job ¼¶±ðµÄ variables , ÃüÃûΪ¡°BatchKey¡±.
²¢±£´æ¡£
ͼ 19. ÔÚ job Öж¨Òå Stage Variables

ÔÚ Transformer Stage µÄÁÐÓ³ÉäÓҰ벿·ÖµÄ Stage variables ÊôÐÔ¿òÖУ¬¾ÍÄÜÏÔʾ³öÒѾ¶¨ÒåµÄ¡°BatchKey¡±£¬ÊäÈë±äÁ¿µÄ±í´ïʽ¡£
ͼ 20. Stage variables ±í´ïʽ

Çåµ¥ 6. Stage variables ±í´ïʽ
'#':in.FILE_CODE:'_':CurrentDate():'_': TimetFromTimestamp(DSJobStartTimestamp) |
ÌØ±ð×¢ÒâµÄÊÇ£¬ÎªÁ˱£Ö¤Í¬Ò»ÅúÊý¾Ý¼ÓÔØµÄΨһ¼ü£¬ÕâÀïÓõ½ÁË DataStage µÄ×Ô´øº¯Êý DSJobStartTimestamp£¬¸Ãº¯Êý·µ»ØµÄ½á¹ûΪ×÷Òµ¿ªÊ¼ÔËÐеÄʱ
ÊղطÖÏí |