Yang, Tong 48706b7552 MRS COMP-LTS 320-lts.1 version
Reviewed-by: Kacur, Michal <michal.kacur@t-systems.com>
Co-authored-by: Yang, Tong <yangtong2@huawei.com>
Co-committed-by: Yang, Tong <yangtong2@huawei.com>
2024-04-12 12:51:10 +00:00

32 lines
1.5 KiB
HTML

<a name="mrs_01_24227"></a><a name="mrs_01_24227"></a>
<h1 class="topictitle1">UDTF Java and SQL Examples</h1>
<div id="body32001227"><div class="section" id="mrs_01_24227__en-us_topic_0000001219230883_section95401225482"><h4 class="sectiontitle">UDTF Java Example</h4><pre class="screen" id="mrs_01_24227__en-us_topic_0000001219230883_screen1454016251989">package com.<em id="mrs_01_24227__i19547102674514">xxx</em>.udf;
import org.apache.flink.api.java.tuple.Tuple2;
import org.apache.flink.table.functions.TableFunction;
public class UdfClass_UDTF extends TableFunction&lt;Tuple2&lt;String, Integer&gt;&gt; {
public void eval(String str) {
Tuple2&lt;String, Integer&gt; tuple2 = Tuple2.of(str, str.length());
collect(tuple2);
}
}</pre>
</div>
<div class="section" id="mrs_01_24227__en-us_topic_0000001219230883_section4746216205515"><h4 class="sectiontitle">UDTF SQL Example</h4><pre class="screen" id="mrs_01_24227__en-us_topic_0000001219230883_screen19516103114551">CREATE TEMPORARY FUNCTION udtf as 'com.<em id="mrs_01_24227__i15442104484619">xxx</em>.udf.UdfClass_UDTF';
CREATE TABLE udfSource (a VARCHAR) WITH ('connector' = 'datagen','rows-per-second'='1');
CREATE TABLE udfSink (b VARCHAR,c int) WITH ('connector' = 'print');
INSERT INTO
udfSink
SELECT
str,
strLength
FROM
udfSource,lateral table(udtf(udfSource.a)) as T(str,strLength);</pre>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="mrs_01_24223.html">Managing UDFs</a></div>
</div>
</div>