ここでは,次のサンプルファイルに記述されている外部定義関数定義ファイルの記述例を示したあとに,記述例の内容を説明します。
<インストールディレクトリ>¥samples¥external¥conf¥xml¥ExternalFunctionDefinition.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- All Rights Reserved. Copyright (C) 2013, Hitachi, Ltd. -->
<root:ExternalFunctionDefinition
xmlns:root="http://www.hitachi.co.jp/soft/xml/sdp/function"
xmlns:group="http://www.hitachi.co.jp/soft/xml/sdp/function/functiongroup">
<!--関数グループ定義 -->
<group:FunctionGroup name="FG1" path="samples/external/src">
<!-- 関数定義 -->
<group:StreamFunction name="FUNC1" class="samples.ExternalStreamFunction">
<!-- 戻り値定義 -->
<group:ReturnInformation name="R1" type="INT" />
<group:ReturnInformation name="R2" type="VARCHAR(10)" />
<group:ReturnInformation name="R3" type="BIGINT" />
<group:ReturnInformation name="R4" type="TIMESTAMP(9)" />
</group:StreamFunction>
</group:FunctionGroup>
</root:ExternalFunctionDefinition>
出力ストリームの列 | 列名 | 型名 |
---|---|---|
1列目 | R1 | INT |
2列目 | R2 | VARCHAR(10) |
3列目 | R3 | BIGINT |
4列目 | R4 | TIMESTAMP(9) |
REGISTER STREAM DATA0(ID VARCHAR(10), VAL BIGINT);
REGISTER QUERY Q1 SELECT ID, VAL FROM DATA0[PARTITION BY ID ROWS 1];
REGISTER QUERY Q2 ISTREAM (SELECT * FROM Q1);
REGISTER QUERY Q3 DSTREAM (SELECT * FROM Q1);
REGISTER QUERY SUM1 $*FG1.FUNC1[3](Q2,Q3);