<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3780797050042000159</id><updated>2025-02-14T22:58:30.742-08:00</updated><title type='text'>Ab Initio Components</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://abinitio-components.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3780797050042000159/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://abinitio-components.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13405902819110839597</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>1</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3780797050042000159.post-1043312077735263148</id><published>2014-11-28T23:17:00.002-08:00</published><updated>2015-01-18T05:52:18.378-08:00</updated><title type='text'>Ab Initio Components</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-IN&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-IN&quot;&gt;There are
several components in Abinitio to build the&amp;nbsp;graph&#39;s, It is divided in two
sets:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;mso-list: l7 level1 lfo15; text-indent: -.25in;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: Calibri; mso-fareast-font-family: Calibri;&quot;&gt;-&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-stretch: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;Dataset Components&lt;/b&gt;:-Components Which &amp;nbsp;holds data&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;mso-list: l7 level1 lfo15; text-indent: -.25in;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-bidi-font-family: Calibri; mso-bidi-font-weight: bold; mso-fareast-font-family: Calibri;&quot;&gt;-&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-stretch: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;Program Components&lt;/b&gt;:-Components which &amp;nbsp;process data&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;font-size: 14.0pt; line-height: 115%; mso-bidi-font-size: 11.0pt;&quot;&gt;Dataset Components&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraph&quot; style=&quot;margin-left: .25in; mso-add-space: auto; mso-list: l13 level1 lfo16; text-indent: -.25in;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;b&gt;1.&lt;span style=&quot;font-size: 7pt; font-stretch: normal; font-weight: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;!--[endif]--&gt;&lt;b&gt;Input
file :&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-IN&quot;&gt;Input File
represents records read as input to a graph from one or more serial files or
from a multi file. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-IN&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8Ie63jS0YM7kQxgy4FxVoagcvRVzeBOi9b56dhTroxt1omxXnhDb4qiFXXj3Yyqh974GhBhvDnzdZQxkHlTvvlEnqZ1ei2PWDo8UKIDeEjpEMfzDPpoNhlT0euarnv4WgmdfM9xHAZhM/s1600/Input+file.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8Ie63jS0YM7kQxgy4FxVoagcvRVzeBOi9b56dhTroxt1omxXnhDb4qiFXXj3Yyqh974GhBhvDnzdZQxkHlTvvlEnqZ1ei2PWDo8UKIDeEjpEMfzDPpoNhlT0euarnv4WgmdfM9xHAZhM/s1600/Input+file.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-IN&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;!--[if gte vml 1]&gt;&lt;v:shapetype
 id=&quot;_x0000_t75&quot; coordsize=&quot;21600,21600&quot; o:spt=&quot;75&quot; o:preferrelative=&quot;t&quot;
 path=&quot;m@4@5l@4@11@9@11@9@5xe&quot; filled=&quot;f&quot; stroked=&quot;f&quot;&gt;
 &lt;v:stroke joinstyle=&quot;miter&quot;/&gt;
 &lt;v:formulas&gt;
  &lt;v:f eqn=&quot;if lineDrawn pixelLineWidth 0&quot;/&gt;
  &lt;v:f eqn=&quot;sum @0 1 0&quot;/&gt;
  &lt;v:f eqn=&quot;sum 0 0 @1&quot;/&gt;
  &lt;v:f eqn=&quot;prod @2 1 2&quot;/&gt;
  &lt;v:f eqn=&quot;prod @3 21600 pixelWidth&quot;/&gt;
  &lt;v:f eqn=&quot;prod @3 21600 pixelHeight&quot;/&gt;
  &lt;v:f eqn=&quot;sum @0 0 1&quot;/&gt;
  &lt;v:f eqn=&quot;prod @6 1 2&quot;/&gt;
  &lt;v:f eqn=&quot;prod @7 21600 pixelWidth&quot;/&gt;
  &lt;v:f eqn=&quot;sum @8 21600 0&quot;/&gt;
  &lt;v:f eqn=&quot;prod @7 21600 pixelHeight&quot;/&gt;
  &lt;v:f eqn=&quot;sum @10 21600 0&quot;/&gt;
 &lt;/v:formulas&gt;
 &lt;v:path o:extrusionok=&quot;f&quot; gradientshapeok=&quot;t&quot; o:connecttype=&quot;rect&quot;/&gt;
 &lt;o:lock v:ext=&quot;edit&quot; aspectratio=&quot;t&quot;/&gt;
&lt;/v:shapetype&gt;&lt;v:shape id=&quot;Picture_x0020_1&quot; o:spid=&quot;_x0000_i1028&quot; type=&quot;#_x0000_t75&quot;
 style=&#39;width:446.25pt;height:278.25pt;visibility:visible;mso-wrap-style:square&#39;&gt;
 &lt;v:imagedata src=&quot;file:///C:\Users\Admin\AppData\Local\Temp\msohtmlclip1\01\clip_image001.png&quot;
  o:title=&quot;&quot;/&gt;
&lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-IN&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
We can use
multiple files (of same type) as input&lt;/div&gt;
&lt;span lang=&quot;EN-IN&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-IN&quot;&gt;Click on partition radio and the click the edit button. In the edit box mention
the variable name which points the files and the variable has to be defined in
a fnx file like&lt;/span&gt;&lt;/div&gt;
&lt;span lang=&quot;EN-IN&quot;&gt;
&lt;/span&gt;&lt;span lang=&quot;EN-IN&quot;&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-IN&quot;&gt;export INPUT_FILES=`ls
-1 $AI_TEMP/MML/CCE*`&lt;/span&gt;&lt;/div&gt;
&lt;span lang=&quot;EN-IN&quot;&gt;
&lt;/span&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-IN&quot;&gt;or in sandbox where the left column should have the variable name (INPUT_FILES) and right column should have the definition ($AI_TEMP/MML/CCE*)&lt;/span&gt;&lt;/div&gt;
&lt;span lang=&quot;EN-IN&quot;&gt;
&lt;/span&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-IN&quot;&gt;This INPUT_FILES points all the files under $AI_TEMP/MML directory which are
stated with CCE&lt;/span&gt;&lt;/div&gt;
&lt;span lang=&quot;EN-IN&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoListParagraph&quot; style=&quot;margin-left: .25in; mso-add-space: auto; mso-list: l13 level1 lfo16; text-indent: -.25in;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;b&gt;2.&lt;span style=&quot;font-size: 7pt; font-stretch: normal; font-weight: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/b&gt;&lt;!--[endif]--&gt;&lt;b&gt;Input table&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-IN&quot;&gt;Input Table
unloads records from a database into a graph, allowing you to specify as the
source either a database table or an SQL statement that selects records from
one or more tables. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiY9BZfaDEXq4PKyFprdyPOhyphenhyphenxStAxNW4DNoyQn5t5j3aEg_EK1earD2d4X58vS5CcElthodhIZLxA9Bokviw2XQftLmOkRVEvTf5h1NARues1Ky-jHSswXxxE8ZfhvizXMAKZ_epE_j4U/s1600/Input+table.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiY9BZfaDEXq4PKyFprdyPOhyphenhyphenxStAxNW4DNoyQn5t5j3aEg_EK1earD2d4X58vS5CcElthodhIZLxA9Bokviw2XQftLmOkRVEvTf5h1NARues1Ky-jHSswXxxE8ZfhvizXMAKZ_epE_j4U/s1600/Input+table.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;!--[if gte vml 1]&gt;&lt;v:shape
 id=&quot;Picture_x0020_3&quot; o:spid=&quot;_x0000_i1027&quot; type=&quot;#_x0000_t75&quot; style=&#39;width:468pt;
 height:292.5pt;visibility:visible;mso-wrap-style:square&#39;&gt;
 &lt;v:imagedata src=&quot;file:///C:\Users\Admin\AppData\Local\Temp\msohtmlclip1\01\clip_image002.png&quot;
  o:title=&quot;&quot;/&gt;
&lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;!--[endif]--&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin-left: .25in; mso-add-space: auto; mso-list: l13 level1 lfo16; text-indent: -.25in;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;b&gt;3.&lt;span style=&quot;font-size: 7pt; font-stretch: normal; font-weight: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/b&gt;&lt;!--[endif]--&gt;&lt;b&gt;Output file:&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin-left: .25in; mso-add-space: auto;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpFirst&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-IN&quot;&gt;Output
File represents records written as output from a graph into one or more serial
files or a multifile. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-IN&quot;&gt;The
output file can be created in write or append mode or permission for the other
user can be controlled .&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-IN&quot;&gt;When
the target of an Output File component is a particular file (such as /dev/null,
NUL, a named pipe, or some other special file), the Co&amp;gt;Operating System
never deletes and re-creates that file, nor does it ever truncate it. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiunPzLtIti48BwW88Plka3mISOaWOU9T8w_bxT8XcpqMCmb_mc12kXUoo8IQwayGhUEZN65rsexTrLyDUfx467PzCW6wdIYWqMhdIg0Mt2BXvnDA3T-SwrSIU5iGuPcXrcH2-9tHr0a-U/s1600/output+file.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiunPzLtIti48BwW88Plka3mISOaWOU9T8w_bxT8XcpqMCmb_mc12kXUoo8IQwayGhUEZN65rsexTrLyDUfx467PzCW6wdIYWqMhdIg0Mt2BXvnDA3T-SwrSIU5iGuPcXrcH2-9tHr0a-U/s1600/output+file.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;
&lt;!--[endif]--&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraph&quot; style=&quot;margin-left: .25in; mso-add-space: auto; mso-list: l13 level1 lfo16; text-indent: -.25in;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;b&gt;4.&lt;span style=&quot;font-size: 7pt; font-stretch: normal; font-weight: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/b&gt;&lt;!--[endif]--&gt;&lt;b&gt;Output table:&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-IN&quot;&gt;Output
Table loads records from a graph into a database, letting you specify the
destination either directly as a single database table, or through an SQL Statement that inserts records into one or more tables.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot;&gt;
&lt;span lang=&quot;EN-IN&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRgPxbd7hoRkS_jpWtKTZwCpUk-ubrs5dg4l8U7jnowfE738QVDLvQ1incrcJCVwzeHwqS56hQ-aAan1NXIp3223hMV1a0FZ30HFQNEtbPNDJH3z0Auuc8jThPkWMrh8IKm9lAcwJ83I4/s1600/output+table.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRgPxbd7hoRkS_jpWtKTZwCpUk-ubrs5dg4l8U7jnowfE738QVDLvQ1incrcJCVwzeHwqS56hQ-aAan1NXIp3223hMV1a0FZ30HFQNEtbPNDJH3z0Auuc8jThPkWMrh8IKm9lAcwJ83I4/s1600/output+table.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot;&gt;
&lt;span lang=&quot;EN-IN&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .5in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;font-size: 14.0pt; line-height: 115%; mso-bidi-font-size: 11.0pt;&quot;&gt;Program Components&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;font-size: 14.0pt; line-height: 115%; mso-bidi-font-size: 11.0pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;mso-list: l15 level1 lfo17; text-indent: -.25in;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;b&gt;1.&lt;span style=&quot;font-size: 7pt; font-stretch: normal; font-weight: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/b&gt;&lt;!--[endif]--&gt;&lt;b&gt;Sort components:&amp;nbsp;&lt;/b&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;text-align: justify; text-indent: 0.25in;&quot;&gt;Sort
component reorders data &lt;/span&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;text-align: justify; text-indent: 0.25in;&quot;&gt;.
You can use Sort to order records before you send&amp;nbsp;&lt;/span&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;text-align: justify; text-indent: 0.25in;&quot;&gt;them to&amp;nbsp;&lt;/span&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;text-align: justify; text-indent: 0.25in;&quot;&gt;a&amp;nbsp;&lt;/span&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;text-align: justify; text-indent: 0.25in;&quot;&gt;component that
requires grouped or sorted records. &lt;/span&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;text-align: justify; text-indent: 0.25in;&quot;&gt;It comprises two&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;text-align: justify; text-indent: 0.25in;&quot;&gt;parameters&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 0.25in; text-align: justify;&quot;&gt;
&lt;b style=&quot;text-indent: -0.25in;&quot;&gt;&lt;span lang=&quot;EN-IN&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b style=&quot;text-indent: -0.25in;&quot;&gt;&lt;span lang=&quot;EN-IN&quot;&gt;Key&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;text-indent: -0.25in;&quot;&gt; :&amp;nbsp;&lt;/span&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;text-indent: -0.25in;&quot;&gt;Key is one of the parameters for sort components which describes the&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;text-indent: -0.25in;&quot;&gt;collation order.&lt;/span&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; line-height: 115%; mso-ansi-language: EN-IN; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;(key_specifier&lt;/span&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; line-height: 115%; mso-ansi-language: EN-IN; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;, required)&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-IN&quot; style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; line-height: 115%; mso-ansi-language: EN-IN; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Name(s) of
the key field(s) and the sequesnce specifier(s) you want the component to use&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;text-indent: 0.5in;&quot;&gt;when it orders records.&lt;/span&gt;&lt;br /&gt;
&lt;b style=&quot;text-indent: 0.5in;&quot;&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; line-height: 115%; mso-ansi-language: EN-IN; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-theme-font: minor-fareast;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b style=&quot;text-indent: 0.5in;&quot;&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; line-height: 115%; mso-ansi-language: EN-IN; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-theme-font: minor-fareast;&quot;&gt;Max-core&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; line-height: 115%; mso-ansi-language: EN-IN; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-theme-font: minor-fareast;&quot;&gt;:&lt;/span&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;text-indent: 0.5in;&quot;&gt;M&lt;/span&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; line-height: 115%; mso-ansi-language: EN-IN; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;ax-core parameter controls how often the sort
component&amp;nbsp;&lt;/span&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; line-height: 115%; mso-ansi-language: EN-IN; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;dump&amp;nbsp;&lt;/span&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; line-height: 115%; mso-ansi-language: EN-IN; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;data&amp;nbsp;&lt;/span&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; line-height: 115%; mso-ansi-language: EN-IN; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;from&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt; line-height: 115%; text-indent: 0.5in;&quot;&gt;memory to
disk.&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-IN&quot; style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; line-height: 115%; mso-ansi-language: EN-IN; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;(integer&lt;/span&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; line-height: 115%; mso-ansi-language: EN-IN; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;, required)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;text-indent: 0.5in;&quot;&gt;Maximum memory
usage is in bytes.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;text-indent: 0.5in;&quot;&gt;Default is
100663296 (100 MB).&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-IN&quot; style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; line-height: 115%; mso-ansi-language: EN-IN; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;When the
component reaches the number of bytes specified in the max-&amp;nbsp;&lt;/span&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; line-height: 115%; mso-ansi-language: EN-IN; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;core&amp;nbsp;&lt;/span&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; line-height: 115%; mso-ansi-language: EN-IN; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;paramenter,&amp;nbsp;&lt;/span&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; line-height: 115%; mso-ansi-language: EN-IN; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;it&amp;nbsp;&lt;/span&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt; line-height: 115%; text-indent: 0.5in;&quot;&gt;sorts &lt;/span&gt;&lt;span lang=&quot;EN-IN&quot; style=&quot;text-indent: 0.5in;&quot;&gt;the records it has read and writes a
temporary file to disk.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;mso-list: l15 level1 lfo17; text-indent: -.25in;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;b&gt;2.&lt;span style=&quot;font-size: 7pt; font-stretch: normal; font-weight: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/b&gt;&lt;!--[endif]--&gt;&lt;b&gt;Reformat components:&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .5in; text-align: justify;&quot;&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Reformat changes the record format
of data records by dropping fields, or by using DML expressions to add fields,
combine fields, or transform the data in the records. By default reformat has
got one output port but incrementing value of count parameter number. But for
that two different transform functions has to be written for each output port.&lt;/div&gt;
&lt;span lang=&quot;EN-IN&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-IN&quot;&gt;If any selection from input ports is required the select parameter can be used
instead of using ‘Filter by expression’ component before reformat&lt;/span&gt;&lt;/div&gt;
&lt;span lang=&quot;EN-IN&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot; style=&quot;margin-left: .75in; mso-add-space: auto; mso-list: l18 level1 lfo1; tab-stops: list .75in; text-indent: -.25in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;!--[if !supportLists]--&gt;1.&lt;span style=&quot;font-size: 7pt; font-stretch: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;!--[endif]--&gt;Reads record from input port&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot; style=&quot;margin-left: .75in; mso-add-space: auto; mso-list: l18 level1 lfo1; tab-stops: list .75in; text-indent: -.25in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;!--[if !supportLists]--&gt;2.&lt;span style=&quot;font-size: 7pt; font-stretch: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;!--[endif]--&gt;Record passes as argument to transform function
or xfr&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot; style=&quot;margin-left: .75in; mso-add-space: auto; mso-list: l18 level1 lfo1; tab-stops: list .75in; text-indent: -.25in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;!--[if !supportLists]--&gt;3.&lt;span style=&quot;font-size: 7pt; font-stretch: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;!--[endif]--&gt;Records written to out ports, if the function
returns a success status&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot; style=&quot;margin-left: .75in; mso-add-space: auto; mso-list: l18 level1 lfo1; tab-stops: list .75in; text-indent: -.25in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;!--[if !supportLists]--&gt;4.&lt;span style=&quot;font-size: 7pt; font-stretch: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;!--[endif]--&gt;Records written to reject ports, if the function
returns a failure status&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-indent: .5in;&quot;&gt;
Parameters of Reformat Component&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot; style=&quot;margin-left: .75in; mso-add-space: auto; mso-list: l17 level1 lfo18; tab-stops: list .75in; text-indent: -.25in;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-fareast-font-family: Arial;&quot;&gt;•&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-stretch: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Count&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot; style=&quot;margin-left: .75in; mso-add-space: auto; mso-list: l17 level1 lfo18; tab-stops: list .75in; text-indent: -.25in;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-fareast-font-family: Arial;&quot;&gt;•&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-stretch: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Transform (Xfr) Function&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot; style=&quot;margin-left: .75in; mso-add-space: auto; mso-list: l17 level1 lfo18; tab-stops: list .75in; text-indent: -.25in;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-fareast-font-family: Arial;&quot;&gt;•&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-stretch: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Reject-Threshold&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot; style=&quot;margin-left: 1.25in; mso-add-space: auto; mso-list: l20 level2 lfo19; tab-stops: list 1.25in; text-indent: -.25in;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;-&lt;span style=&quot;font-size: 7pt; font-stretch: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;!--[endif]--&gt;Abort&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot; style=&quot;margin-left: 1.25in; mso-add-space: auto; mso-list: l20 level2 lfo19; tab-stops: list 1.25in; text-indent: -.25in;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;-&lt;span style=&quot;font-size: 7pt; font-stretch: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;!--[endif]--&gt;Never Abort&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot; style=&quot;margin-left: 1.25in; mso-add-space: auto; mso-list: l20 level2 lfo19; tab-stops: list 1.25in; text-indent: -.25in;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;-&lt;span style=&quot;font-size: 7pt; font-stretch: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;!--[endif]--&gt;Use Limit &amp;amp; Ramp&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;mso-list: l15 level1 lfo17; text-indent: -.25in;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;b&gt;3.&lt;span style=&quot;font-size: 7pt; font-stretch: normal; font-weight: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/b&gt;&lt;!--[endif]--&gt;&lt;b&gt;Join Components: &lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .5in; text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-IN&quot;&gt;Join reads the records from multiple
ports, operates on the records with matching keys using a multi input transform
function and writes the result into output ports.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .5in;&quot;&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Join deals with two activities.&lt;/div&gt;
&lt;span style=&quot;text-align: justify;&quot;&gt;1. Transforming data sources with different record format.&lt;/span&gt;&lt;span lang=&quot;EN-IN&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-IN&quot;&gt;
&lt;/span&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-IN&quot;&gt;2. Combining data sources with the same record format.&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-IN&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span lang=&quot;EN-IN&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-indent: .5in;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;font-size: 12.0pt; line-height: 115%; mso-bidi-font-size: 11.0pt;&quot;&gt;Join Types&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot; style=&quot;margin-left: .5in; mso-add-space: auto;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: rgb(254, 254, 242); font-size: 12pt; line-height: 115%;&quot;&gt;Inner Join&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;background: rgb(254, 254, 242); font-size: 13.5pt; line-height: 115%;&quot;&gt;:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;background: rgb(254, 254, 242); font-size: 13.5pt; line-height: 115%;&quot;&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot; style=&quot;margin-left: .5in; mso-add-space: auto;&quot;&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
It uses only records with matching
keys on both inputs. This type of join is used to produce an output record only
if there is a record in input 0 with a key that matches a record in input 1.&lt;/div&gt;
&lt;span style=&quot;background: rgb(254, 254, 242); font-size: 13.5pt; line-height: 115%;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;background: rgb(254, 254, 242); font-size: 13.5pt; line-height: 115%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;background: rgb(254, 254, 242); font-size: 13.5pt; line-height: 115%;&quot;&gt;
&lt;/span&gt;&lt;b&gt;&lt;/b&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;b&gt;&lt;b&gt;&lt;span style=&quot;background: rgb(254, 254, 242); font-size: 12pt; line-height: 115%;&quot;&gt;Full
Outer Join:&lt;/span&gt;&lt;/b&gt;&lt;/b&gt;&lt;/div&gt;
&lt;b&gt;
&lt;/b&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
It uses all records from both inputs. If a record from one does not have
a matching record in the other input, a NULL record is used for the missing
record. This type of join is used to produce output for all of the records that
are present in either input 0 or input 1.&lt;/div&gt;
&lt;span style=&quot;background: rgb(254, 254, 242); font-size: 13.5pt; line-height: 115%;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;background: rgb(254, 254, 242); font-size: 13.5pt; line-height: 115%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;background: rgb(254, 254, 242); font-size: 13.5pt; line-height: 115%;&quot;&gt;
&lt;/span&gt;&lt;b&gt;&lt;/b&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;b&gt;&lt;b&gt;&lt;span style=&quot;background: rgb(254, 254, 242); font-size: 12pt; line-height: 115%;&quot;&gt;Explicit
Join (Semi Join):&lt;/span&gt;&lt;/b&gt;&lt;/b&gt;&lt;/div&gt;
&lt;b&gt;
&lt;/b&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
It uses all records in one specified input, but records with matching
keys in the other inputs are optional. Again a NULL record is used for the
missing records.&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Case1( In 0 required): In this type of join, a record is required on input 0,
but the presence of a record on input 1 with the same key is optional. There
are two key combinations that can produce here, so that it will again be
necessary to prioritize rules in the transform.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Case2( In 1 required): In this type of join, a record is required on input 1,
but the presence of a record on input 0 with the same is optional.&lt;span style=&quot;background: rgb(254, 254, 242); font-size: 13.5pt; line-height: 115%;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-indent: .5in;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;font-size: 12.0pt; line-height: 115%; mso-bidi-font-size: 11.0pt;&quot;&gt;Join Methods: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-indent: .5in;&quot;&gt;
&lt;b&gt;There are two types of methods&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin-left: 1.0in; mso-add-space: auto; mso-list: l2 level2 lfo20; text-indent: -.25in;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-fareast-font-family: Arial;&quot;&gt;•&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-stretch: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;font-size: 10.0pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-theme-font: minor-fareast;&quot;&gt;Merge
Join&lt;/span&gt;: &lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 11.0pt; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;Using sorted inputs&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 1.0in; mso-add-space: auto; mso-list: l2 level2 lfo20; text-indent: -.25in;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 11.0pt; mso-fareast-font-family: Arial;&quot;&gt;•&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-stretch: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;font-size: 10.0pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-theme-font: minor-fareast;&quot;&gt;Hash
Join&lt;/span&gt;: &lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 11.0pt; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;Using in-memory hash tables to group input&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .5in; text-align: justify; text-indent: .5in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
A
merge join is performed by sorting the two data sets to be joined according to
the join keys and then merging them together. The merge is very cheap, but the
sort can be prohibitively expensive especially if the sort spills to disk. The
cost of the sort can be lowered if one of the data sets can be accessed in
sorted order via an index, although accessing a high proportion of blocks of a
table via an index scan can also be very expensive in comparison to a full
table scan.&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .5in; text-align: justify; text-indent: .5in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
A
hash join is performed by hashing one data set into memory based on join
columns and reading the other one and probing the hash table for matches. The
hash join is very low cost when the hash table can be held entirely in memory,
with the total cost amounting to very little more than the cost of reading the
data sets. The cost rises if the hash table has to be spilled to disk in a
one-pass sort, and rises considerably for a multipass sort.&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .5in; text-align: justify; text-indent: .5in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
The
cost of a hash join can be reduced by partitioning both tables on the join
key(s). This allows the optimiser to infer that rows from a partition in one
table will only find a match in a particular partition of the other table, and
for tables having n partitions the hash join is executed as n independent hash
joins. This has the following effects:&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .5in; text-align: justify; text-indent: .5in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoListParagraph&quot; style=&quot;margin-left: .75in; mso-add-space: auto; mso-list: l0 level1 lfo1; text-align: justify; text-indent: -.25in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;The size of each hash table is reduced, hence
reducing the maximum amount of memory required and potentially removing the
need for the operation to require temporary disk space.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin-left: .75in; mso-add-space: auto; mso-list: l0 level1 lfo1; text-align: justify; text-indent: -.25in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;For parallel query operations the amount of
inter-process messaging is vastly reduced, reducing CPU usage and improving
performance, as each hash join can be performed by one pair of PQ processes.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin-left: .75in; mso-add-space: auto; mso-list: l0 level1 lfo1; text-align: justify; text-indent: -.25in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;For non-parallel query operations the memory
requirement is reduced by a factor of n, and the first rows are projected from
the query earlier.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .5in; text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
You should note
that hash joins can only be used for equi-joins, but merge joins are more
flexible.&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .5in; text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
In general, if
you are joining large amounts of data in an equi-join then a hash join is going
to be a better bet.&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;mso-list: l15 level1 lfo17; text-indent: -.25in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;b&gt;4.&lt;span style=&quot;font-size: 7pt; font-stretch: normal; font-weight: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/b&gt;&lt;!--[endif]--&gt;&lt;b&gt;Filter by Expression components:&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .5in; text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Filter by
Expression filters records according to a specified DML expression.&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .5in; text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Basically it can
be compared with the where clause of sql select statement.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Different functions can be used in the select expression of the filter by
expression component even lookup can also be used.&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin-left: .75in; mso-add-space: auto; mso-list: l5 level1 lfo14; text-indent: -.25in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 11.0pt; mso-bidi-font-family: Calibri; mso-fareast-font-family: Calibri;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 11.0pt; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;Reads data records from the in port. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: .75in; mso-add-space: auto; mso-list: l5 level1 lfo14; text-indent: -.25in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 11.0pt; mso-bidi-font-family: Calibri; mso-fareast-font-family: Calibri;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 11.0pt; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;Applies the expression in the select_expr
parameter to each record. If the expression returns: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 1.25in; mso-add-space: auto; mso-list: l0 level2 lfo21; text-indent: -.25in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 11.0pt; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;Non-0 value — Filter by Expression writes the
record to the out port.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;0 — Filter by Expression writes the record to
the deselect port. If you do not connect a flow to the deselect port, Filter by
Expression discards the records.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 11.0pt; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;NULL — Filter by Expression writes the record
to the reject port and a descriptive error message to the error port.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!--[if !supportLists]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin-left: 1.25in; mso-add-space: auto; mso-list: l0 level2 lfo21; text-indent: -.25in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Filter by
Expression stops execution of the graph when the number of reject events
exceeds the result of the following formula:&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .5in; text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
limit + (ramp *
number_of_records_processed_so_far) &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoListParagraph&quot; style=&quot;mso-list: l15 level1 lfo17; text-indent: -.25in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;b&gt;5.&lt;span style=&quot;font-size: 7pt; font-stretch: normal; font-weight: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/b&gt;&lt;!--[endif]--&gt;&lt;b&gt;Normalize components:&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .5in; text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Normalize
generates multiple output records from each of its input records. You can
directly specify the number of output records for each input record, or the
number of output records can depend on some calculation.&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .5in; text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
1. Reads the
input record.&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 1.0in; mso-list: l9 level2 lfo2; tab-stops: list 1.0in; text-indent: -.25in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;If you have not defined input_select, Normalize
processes all records.&lt;/li&gt;
&lt;li&gt;If you have defined input_select, the input
records are filtered as follows:&lt;/li&gt;
&lt;/ul&gt;
&lt;!--[if !supportLists]--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .5in; text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
2. Performs
iterations of the normalize transform function for each input record. &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .5in; text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
3. Performs
temporary initialization. &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .5in; text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
4. Sends the
output record to the out port. &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoListParagraph&quot; style=&quot;mso-list: l15 level1 lfo17; text-indent: -.25in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;b&gt;6.&lt;span style=&quot;font-size: 7pt; font-stretch: normal; font-weight: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/b&gt;&lt;!--[endif]--&gt;&lt;b&gt;Denormalize componennts:&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .5in; text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Denormalize
Sorted consolidates groups of related records by key into a single output
record with a vector field for each group, and optionally computes summary
fields in the output record for each group. Denormalize Sorted requires grouped
input. &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .5in; text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
For example, if
you have a record for each person that includes the households to which that
person belongs, Denormalize Sorted can consolidate those records into a record
for each household that contains a variable number of people. &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoListParagraph&quot; style=&quot;mso-list: l15 level1 lfo17; text-indent: -.25in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;b&gt;7.&lt;span style=&quot;font-size: 7pt; font-stretch: normal; font-weight: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/b&gt;&lt;!--[endif]--&gt;&lt;b&gt;Multistage components&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .5in; text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Multistage
component are nothing but the transform component where the records are
transformed into five stages like input selection , temporary records
initialisation , processing , finalization and output selection.&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .5in; text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Examples of multistage
components are aggregate, rollup, scan&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .75in; mso-list: l19 level1 lfo3; tab-stops: list .75in; text-indent: -.25in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Rollup:&amp;nbsp;&lt;/b&gt;Rollup evaluates
a group of input records that have the same key, and then generates records
that either summarize each group or select certain information from each group.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Aggregate:&amp;nbsp;&lt;/b&gt;Aggregate
generates records that summarize groups of records. In general, use ROLLUP&amp;nbsp;for new development rather than Aggregate. Rollup gives you more control over
record selection, grouping, and aggregation. However, use Aggregate
when you want to return the single record that has a field containing either
the maximum or the minimum value of all the records in the group.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Scan:&amp;nbsp;&lt;/b&gt;For every input
record, Scan generates an output record that includes a running cumulative
summary for the group the input record belongs to. For example, the output
records might include successive year-to-date totals for groups of records. Scan can be used
in continuous graphs&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoListParagraph&quot; style=&quot;mso-list: l15 level1 lfo17; text-indent: -.25in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;b&gt;8.&lt;span style=&quot;font-size: 7pt; font-stretch: normal; font-weight: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/b&gt;&lt;!--[endif]--&gt;&lt;b&gt;Partition components:&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-indent: .5in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Partition components are used to
divide data sets into multiple sets for further processing.&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-indent: .5in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
There are several components are
available as follows.&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 1.0in; mso-list: l14 level2 lfo4; tab-stops: list 1.0in; text-indent: -.25in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Partition by Round-robin&lt;/li&gt;
&lt;li&gt;Partition by Key&lt;/li&gt;
&lt;li&gt;Partition by Expression&lt;/li&gt;
&lt;li&gt;Partition by Range&lt;/li&gt;
&lt;li&gt;Partition by Percentage&lt;/li&gt;
&lt;li&gt;Partition by Load Balance&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-indent: .5in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;b&gt;Partition by Round-robin&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .75in; mso-list: l4 level1 lfo5; tab-stops: list .75in; text-indent: -.25in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;It
reads records from its input port and writes them to the flow partitions
connected to its output port. Records are written to partitions in “round
robin” fashion, with ‘block-size’ records going to a partition before moving on
to the next.&lt;/li&gt;
&lt;li&gt;Not
key based.&lt;/li&gt;
&lt;li&gt;Balancing
is Good&lt;/li&gt;
&lt;li&gt;Record
independent parallelism&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-indent: .5in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;b&gt;Partition by Key&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .75in; mso-list: l12 level1 lfo6; tab-stops: list .75in; text-indent: -.25in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Partition
by Key reads records from the in port and distributes data records to its
output flow partitions according to key values.&lt;/li&gt;
&lt;li&gt;Reads records in arbitrary order
from the in port.&lt;/li&gt;
&lt;li&gt;&lt;span lang=&quot;EN-IN&quot;&gt;Distributes records to the flows
connected to the out port, according to the Key&lt;/span&gt;&lt;span lang=&quot;EN-IN&quot;&gt;&amp;nbsp;parameter, writing records with the same key value to the same output
flow.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Partition by Key is typically
followed by Sort.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .75in; mso-list: l12 level1 lfo6; tab-stops: list .75in; text-indent: -.25in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-indent: .5in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;b&gt;Partition by Expression&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .75in; mso-list: l8 level1 lfo7; tab-stops: list .75in; text-indent: -.25in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span lang=&quot;EN-IN&quot;&gt;Partition by Expression distributes
records to its output flow partitions according to a specified DML expression.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!--[if !supportLists]--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .5in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-indent: .5in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;b&gt;Partition by Range&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .75in; mso-list: l3 level1 lfo8; tab-stops: list .75in; text-indent: -.25in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Partition by Range distributes
records to its output flow partitions according to the ranges of key values
specified for each partition. Partition by Range distributes the records
relatively equally among the partitions.&lt;/li&gt;
&lt;li&gt;Use Partition by Range when you want
to divide data into useful, approximately equal, groups. Input can be sorted or
unsorted. If the input is sorted, the output is sorted; if the input is
unsorted, the output is unsorted.&lt;/li&gt;
&lt;li&gt;The records with the key values that
come first in the key order go to partition 0, the records with the key values
that come next in the order go to partition 1, and so on. The records with the
key values that come last in the key order go to the partition with the highest
number.&lt;/li&gt;
&lt;li&gt;Key based.&lt;/li&gt;
&lt;li&gt;Balancing
is depends on splitters&lt;/li&gt;
&lt;li&gt;Key
dependent parallelism and global ordering&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .5in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-indent: .5in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;b&gt;Partition by Percentage&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .75in; mso-list: l6 level1 lfo9; tab-stops: list .75in; text-indent: -.25in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Partition by Percentage distributes
a specified percentage of the total number of input records to each output
flow.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .75in; mso-list: l6 level1 lfo9; tab-stops: list .75in; text-indent: -.25in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-IN&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-indent: .5in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;b&gt;Partition by Load Balance&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .75in; mso-list: l6 level1 lfo9; tab-stops: list .75in; text-indent: -.25in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Partition
with Load Balance distributes data records to its output flow partitions,
writing more records to the flow partitions that consume records faster. This
component is not frequently used.&lt;/li&gt;
&lt;li&gt;Not
key-based.&lt;/li&gt;
&lt;li&gt;&lt;span lang=&quot;EN-IN&quot;&gt;Balancing is &lt;/span&gt;Depends on load&lt;/li&gt;
&lt;li&gt;Record
independent parallelism&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .5in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoListParagraph&quot; style=&quot;mso-list: l15 level1 lfo17; text-indent: -.25in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;b&gt;9.&lt;span style=&quot;font-size: 7pt; font-stretch: normal; font-weight: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/b&gt;&lt;!--[endif]--&gt;&lt;b&gt;De-partition components:&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .5in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-IN&quot;&gt;It can read data from multiple flows or operations and are used to
recombine data records from different flows. Departitioning combines many flows
of data to produce one flow. It is the opposite of partitioning. Each
departition component combines flows in a different manner.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .5in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-IN&quot;&gt;There are several de partition components are available as follows.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 1.0in; mso-list: l10 level2 lfo10; tab-stops: list 1.0in; text-indent: -.25in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Gather&lt;/li&gt;
&lt;li&gt;Concatenate&lt;/li&gt;
&lt;li&gt;Merge&lt;/li&gt;
&lt;li&gt;Interleave&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-indent: .5in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;b&gt;Gather&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 1.0in; mso-list: l10 level2 lfo10; tab-stops: list 1.0in; text-indent: -.25in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Reads data records from the flows connected to
the input&amp;nbsp; port&lt;/li&gt;
&lt;li&gt;Combines the records arbitrarily and writes to
the output&lt;/li&gt;
&lt;li&gt;Not key-based.&lt;/li&gt;
&lt;li&gt;Result ordering is unpredictable.&lt;/li&gt;
&lt;li&gt;Has no effect on the upstream processing.&lt;/li&gt;
&lt;li&gt;Most useful method for efficient collection of
data from multiple partitions and for repartitioning.&lt;/li&gt;
&lt;li&gt;Used most frequently.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 1.0in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-indent: .5in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;b&gt;Concatenate&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 1.0in; mso-list: l1 level2 lfo11; tab-stops: list 1.0in; text-indent: -.25in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Concatenate appends multiple flow partitions of
data records one after another&lt;/li&gt;
&lt;li&gt;Not key-based.&lt;/li&gt;
&lt;li&gt;Result ordering is by partition.&lt;/li&gt;
&lt;li&gt;Serializes pipelined computation.&lt;/li&gt;
&lt;li&gt;Useful for:&lt;/li&gt;
&lt;li&gt;Appending headers and trailers.&lt;/li&gt;
&lt;li&gt;Creating serial flow from partitioned data.&lt;/li&gt;
&lt;li&gt;Used very infrequently.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 1.0in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-indent: .5in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;b&gt;Merge&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 1.0in; mso-list: l10 level2 lfo10; tab-stops: list 1.0in; text-indent: -.25in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Key-based.&lt;/li&gt;
&lt;li&gt;Result ordering is sorted if each input is
sorted.&lt;/li&gt;
&lt;li&gt;Possibly synchronizes pipelined computation.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-stretch: normal;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;May even serialize.&lt;/li&gt;
&lt;li&gt;Useful for creating ordered data flows.&lt;/li&gt;
&lt;li&gt;Other than the ‘Gather’, the Merge is the
other&amp;nbsp;‘departitioner’ of choice.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 1.0in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-indent: .5in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;a href=&quot;https://www.blogger.com/null&quot; name=&quot;_GoBack&quot;&gt;&lt;/a&gt;&lt;b&gt;Interleave:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Interleave combines blocks of records from
multiple flow partitions in round-robin fashion.&lt;/li&gt;
&lt;li&gt;You can use Interleave to undo the effects of &amp;nbsp;partition by round robin.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 1.0in; mso-list: l10 level2 lfo10; tab-stops: list 1.0in; text-indent: -.25in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 1.0in; mso-list: l10 level2 lfo10; tab-stops: list 1.0in; text-indent: -.25in;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;background-color: #cccccc; color: blue; font-family: &#39;Arial Black&#39;, sans-serif;&quot;&gt;&lt;b&gt;&lt;u&gt;Useful Links&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table border=&quot;0&quot; span=&quot;&quot; style=&quot;font-family: &#39;Arial Black&#39;, sans-serif;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span style=&quot;color: blue;&quot;&gt;1. &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;a href=&quot;http://abinitio-sandbox.blogspot.in/&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;Ab Initio Sandbox&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span style=&quot;color: blue;&quot;&gt;2.&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;http://abinitio-introduction.blogspot.com/&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;Ab Initio Introduction&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span style=&quot;color: blue;&quot;&gt;3.&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;a href=&quot;http://abinitio-parallelism.blogspot.com/&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;Ab initio Parallelism&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span style=&quot;color: blue;&quot;&gt;4.&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;a href=&quot;http://abinitio-graph.blogspot.com/&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;Ab Initio Basic Graph Development&lt;/span&gt;&amp;nbsp;&lt;/a&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span style=&quot;color: blue;&quot;&gt;5.&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;http://abinitio-multifiles.blogspot.com/&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;Ab Initio Multifiles&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://abinitio-components.blogspot.com/feeds/1043312077735263148/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://abinitio-components.blogspot.com/2014/11/ab-initio-components.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3780797050042000159/posts/default/1043312077735263148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3780797050042000159/posts/default/1043312077735263148'/><link rel='alternate' type='text/html' href='http://abinitio-components.blogspot.com/2014/11/ab-initio-components.html' title='Ab Initio Components'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/13405902819110839597</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8Ie63jS0YM7kQxgy4FxVoagcvRVzeBOi9b56dhTroxt1omxXnhDb4qiFXXj3Yyqh974GhBhvDnzdZQxkHlTvvlEnqZ1ei2PWDo8UKIDeEjpEMfzDPpoNhlT0euarnv4WgmdfM9xHAZhM/s72-c/Input+file.png" height="72" width="72"/><thr:total>5</thr:total></entry></feed>