Example: JoinStream with InnerJoin Migration

In CCL, the Aleri store element migrates to a CREATE MEMORY STORE statement, and the JoinStream element migrates to an output window with JOIN expressions.

In this example, the AleriML JoinStream "EqJoindatatypes" has an inner join between the input streams "alldatatypes" and "alldatatypes1", with One-One mapping between them. These SourceStream elements (alldatatypes and alldatatypes1) migrate to input windows in CCL.

AleriML:

<Store file="store1" fullsize="64" id="store1" kind="memory"/>
    <SourceStream id="alldatatypes" store="store1">
    	<Column datatype="int32" key="true" name="id"/>
  <Column datatype="int64" key="true" name="a"/>
  <Column datatype="string" key="false" name="charData"/>
  </SourceStream>
     <SourceStream id="alldatatypes1" store="store1">
		<Column datatype="int32" key="true" name="id"/>
		<Column datatype="int64" key="true" name="a"/>
		<Column datatype="string" key="false" name="charData1"/>
   </SourceStream>
 <JoinStream id="EqJoindatatypes" istream="alldatatypes alldatatypes1" store="store1">
 <Join constraints="id=id a=a" table1="alldatatypes" table2="alldatatypes1" type="inner"/>
<ColumnExpression key="true" name="id">alldatatypes.id</ColumnExpression>
 <ColumnExpression key="true" name="a">alldatatypes.a</ColumnExpression>
<ColumnExpression key="false" name="chardata">alldatatypes.charData</ColumnExpression>
<ColumnExpression key="false" name="chardata1">alldatatypes1.charData1</ColumnExpression>
</JoinStream>

CCL:

CREATE  MEMORY  STORE store1 PROPERTIES  INDEXTYPE ='tree',  INDEXSIZEHINT =8;
CREATE  INPUT  WINDOW alldatatypes
SCHEMA (id INTEGER, a LONG, charData STRING)
PRIMARY KEY (id, a)
 STORE store1;
CREATE  INPUT  WINDOW alldatatypes1
SCHEMA (id INTEGER, a LONG, charData1 STRING)
PRIMARY KEY (id, a)
 STORE store1;
CREATE  OUTPUT  WINDOW EqJoindatatypes
SCHEMA (id INTEGER, a LONG, chardata STRING, chardata1 STRING)
PRIMARY KEY (id, a)
 STORE store1
 AS 
SELECT alldatatypes.id AS id, alldatatypes.a AS a, alldatatypes.charData AS chardata, alldatatypes1.charData1 AS chardata1 FROM 
alldatatypes
 INNER JOIN 
alldatatypes1
 ON alldatatypes.id = alldatatypes1.id AND alldatatypes.a = alldatatypes1.a;