blob: 4ae36edb5c6264be572b85d15ad0e7606dabb1f2 [file] [log] [blame]
import{_ as n,c as a,b as l,o}from"./app-C8175JBb.js";const p={};function e(t,s){return o(),a("div",null,s[0]||(s[0]=[l(`<h1 id="apache-flink-tsfile" tabindex="-1"><a class="header-anchor" href="#apache-flink-tsfile"><span>Apache Flink(TsFile)</span></a></h1><h2 id="_1-about-flink-tsfile-connector" tabindex="-1"><a class="header-anchor" href="#_1-about-flink-tsfile-connector"><span>1. About Flink-TsFile-Connector</span></a></h2><p>Flink-TsFile-Connector implements the support of Flink for external data sources of Tsfile type.<br> This enables users to read and write Tsfile by Flink via DataStream/DataSet API.</p><p>With this connector, you can</p><ul><li>load a single TsFile or multiple TsFiles(only for DataSet), from either the local file system or hdfs, into Flink</li><li>load all files in a specific directory, from either the local file system or hdfs, into Flink</li></ul><h2 id="_2-quick-start" tabindex="-1"><a class="header-anchor" href="#_2-quick-start"><span>2. Quick Start</span></a></h2><h3 id="_2-1-tsfileinputformat-example" tabindex="-1"><a class="header-anchor" href="#_2-1-tsfileinputformat-example"><span>2.1 TsFileInputFormat Example</span></a></h3><ol><li>create TsFileInputFormat with default RowRowRecordParser.</li></ol><div class="language-java line-numbers-mode" data-highlighter="shiki" data-ext="java" data-title="java" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#E5C07B;">String</span><span style="color:#E06C75;">[] filedNames </span><span style="color:#56B6C2;">=</span><span style="color:#E06C75;"> {</span></span>
<span class="line"><span style="color:#E5C07B;"> QueryConstant</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">RESERVED_TIME</span><span style="color:#ABB2BF;">,</span></span>
<span class="line"><span style="color:#98C379;"> &quot;device_1.sensor_1&quot;</span><span style="color:#ABB2BF;">,</span></span>
<span class="line"><span style="color:#98C379;"> &quot;device_1.sensor_2&quot;</span><span style="color:#ABB2BF;">,</span></span>
<span class="line"><span style="color:#98C379;"> &quot;device_1.sensor_3&quot;</span><span style="color:#ABB2BF;">,</span></span>
<span class="line"><span style="color:#98C379;"> &quot;device_2.sensor_1&quot;</span><span style="color:#ABB2BF;">,</span></span>
<span class="line"><span style="color:#98C379;"> &quot;device_2.sensor_2&quot;</span><span style="color:#ABB2BF;">,</span></span>
<span class="line"><span style="color:#98C379;"> &quot;device_2.sensor_3&quot;</span></span>
<span class="line"><span style="color:#E06C75;">}</span><span style="color:#ABB2BF;">;</span></span>
<span class="line"><span style="color:#E5C07B;">TypeInformation</span><span style="color:#E06C75;">[] typeInformations </span><span style="color:#56B6C2;">=</span><span style="color:#C678DD;"> new</span><span style="color:#E5C07B;"> TypeInformation</span><span style="color:#E06C75;">[] {</span></span>
<span class="line"><span style="color:#E5C07B;"> Types</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">LONG</span><span style="color:#ABB2BF;">,</span></span>
<span class="line"><span style="color:#E5C07B;"> Types</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">FLOAT</span><span style="color:#ABB2BF;">,</span></span>
<span class="line"><span style="color:#E5C07B;"> Types</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">INT</span><span style="color:#ABB2BF;">,</span></span>
<span class="line"><span style="color:#E5C07B;"> Types</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">INT</span><span style="color:#ABB2BF;">,</span></span>
<span class="line"><span style="color:#E5C07B;"> Types</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">FLOAT</span><span style="color:#ABB2BF;">,</span></span>
<span class="line"><span style="color:#E5C07B;"> Types</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">INT</span><span style="color:#ABB2BF;">,</span></span>
<span class="line"><span style="color:#E5C07B;"> Types</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">INT</span></span>
<span class="line"><span style="color:#E06C75;">}</span><span style="color:#ABB2BF;">;</span></span>
<span class="line"><span style="color:#E5C07B;">List</span><span style="color:#ABB2BF;">&lt;</span><span style="color:#E5C07B;">Path</span><span style="color:#ABB2BF;">&gt;</span><span style="color:#E06C75;"> paths </span><span style="color:#56B6C2;">=</span><span style="color:#E5C07B;"> Arrays</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">stream</span><span style="color:#ABB2BF;">(filedNames)</span></span>
<span class="line"><span style="color:#ABB2BF;"> .</span><span style="color:#61AFEF;">filter</span><span style="color:#ABB2BF;">(s </span><span style="color:#C678DD;">-&gt;</span><span style="color:#56B6C2;"> !</span><span style="color:#E5C07B;">s</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">equals</span><span style="color:#ABB2BF;">(</span><span style="color:#E5C07B;">QueryConstant</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">RESERVED_TIME</span><span style="color:#ABB2BF;">))</span></span>
<span class="line"><span style="color:#ABB2BF;"> .</span><span style="color:#61AFEF;">map</span><span style="color:#ABB2BF;">(Path</span><span style="color:#C678DD;">::new</span><span style="color:#ABB2BF;">)</span></span>
<span class="line"><span style="color:#ABB2BF;"> .</span><span style="color:#61AFEF;">collect</span><span style="color:#ABB2BF;">(</span><span style="color:#E5C07B;">Collectors</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">toList</span><span style="color:#ABB2BF;">());</span></span>
<span class="line"><span style="color:#E5C07B;">RowTypeInfo</span><span style="color:#E06C75;"> rowTypeInfo </span><span style="color:#56B6C2;">=</span><span style="color:#C678DD;"> new</span><span style="color:#61AFEF;"> RowTypeInfo</span><span style="color:#E06C75;">(typeInformations</span><span style="color:#ABB2BF;">,</span><span style="color:#E06C75;"> filedNames)</span><span style="color:#ABB2BF;">;</span></span>
<span class="line"><span style="color:#E5C07B;">QueryExpression</span><span style="color:#E06C75;"> queryExpression </span><span style="color:#56B6C2;">=</span><span style="color:#E5C07B;"> QueryExpression</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">create</span><span style="color:#ABB2BF;">(paths, </span><span style="color:#D19A66;">null</span><span style="color:#ABB2BF;">);</span></span>
<span class="line"><span style="color:#E5C07B;">RowRowRecordParser</span><span style="color:#E06C75;"> parser </span><span style="color:#56B6C2;">=</span><span style="color:#E5C07B;"> RowRowRecordParser</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">create</span><span style="color:#ABB2BF;">(rowTypeInfo, </span><span style="color:#E5C07B;">queryExpression</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">getSelectedSeries</span><span style="color:#ABB2BF;">());</span></span>
<span class="line"><span style="color:#E5C07B;">TsFileInputFormat</span><span style="color:#E06C75;"> inputFormat </span><span style="color:#56B6C2;">=</span><span style="color:#C678DD;"> new</span><span style="color:#E5C07B;"> TsFileInputFormat</span><span style="color:#ABB2BF;">&lt;&gt;</span><span style="color:#E06C75;">(queryExpression</span><span style="color:#ABB2BF;">,</span><span style="color:#E06C75;"> parser)</span><span style="color:#ABB2BF;">;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ol start="2"><li>Read data from the input format and print to stdout:</li></ol><p>DataStream:</p><div class="language-java line-numbers-mode" data-highlighter="shiki" data-ext="java" data-title="java" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#E5C07B;">StreamExecutionEnvironment</span><span style="color:#E06C75;"> senv </span><span style="color:#56B6C2;">=</span><span style="color:#E5C07B;"> StreamExecutionEnvironment</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">getExecutionEnvironment</span><span style="color:#ABB2BF;">();</span></span>
<span class="line"><span style="color:#E5C07B;">inputFormat</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">setFilePath</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">&quot;source.tsfile&quot;</span><span style="color:#ABB2BF;">);</span></span>
<span class="line"><span style="color:#E5C07B;">DataStream</span><span style="color:#ABB2BF;">&lt;</span><span style="color:#E5C07B;">Row</span><span style="color:#ABB2BF;">&gt;</span><span style="color:#E06C75;"> source </span><span style="color:#56B6C2;">=</span><span style="color:#E5C07B;"> senv</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">createInput</span><span style="color:#ABB2BF;">(inputFormat);</span></span>
<span class="line"><span style="color:#E5C07B;">DataStream</span><span style="color:#ABB2BF;">&lt;</span><span style="color:#E5C07B;">String</span><span style="color:#ABB2BF;">&gt;</span><span style="color:#E06C75;"> rowString </span><span style="color:#56B6C2;">=</span><span style="color:#E5C07B;"> source</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">map</span><span style="color:#ABB2BF;">(Row</span><span style="color:#C678DD;">::</span><span style="color:#ABB2BF;">toString);</span></span>
<span class="line"><span style="color:#E5C07B;">Iterator</span><span style="color:#ABB2BF;">&lt;</span><span style="color:#E5C07B;">String</span><span style="color:#ABB2BF;">&gt;</span><span style="color:#E06C75;"> result </span><span style="color:#56B6C2;">=</span><span style="color:#E5C07B;"> DataStreamUtils</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">collect</span><span style="color:#ABB2BF;">(rowString);</span></span>
<span class="line"><span style="color:#C678DD;">while</span><span style="color:#E06C75;"> (</span><span style="color:#E5C07B;">result</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">hasNext</span><span style="color:#ABB2BF;">()</span><span style="color:#E06C75;">) {</span></span>
<span class="line"><span style="color:#E5C07B;"> System</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">out</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">println</span><span style="color:#ABB2BF;">(</span><span style="color:#E5C07B;">result</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">next</span><span style="color:#ABB2BF;">());</span></span>
<span class="line"><span style="color:#E06C75;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>DataSet:</p><div class="language-java line-numbers-mode" data-highlighter="shiki" data-ext="java" data-title="java" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#E5C07B;">ExecutionEnvironment</span><span style="color:#E06C75;"> env </span><span style="color:#56B6C2;">=</span><span style="color:#E5C07B;"> ExecutionEnvironment</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">getExecutionEnvironment</span><span style="color:#ABB2BF;">();</span></span>
<span class="line"><span style="color:#E5C07B;">inputFormat</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">setFilePath</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">&quot;source.tsfile&quot;</span><span style="color:#ABB2BF;">);</span></span>
<span class="line"><span style="color:#E5C07B;">DataSet</span><span style="color:#ABB2BF;">&lt;</span><span style="color:#E5C07B;">Row</span><span style="color:#ABB2BF;">&gt;</span><span style="color:#E06C75;"> source </span><span style="color:#56B6C2;">=</span><span style="color:#E5C07B;"> env</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">createInput</span><span style="color:#ABB2BF;">(inputFormat);</span></span>
<span class="line"><span style="color:#E5C07B;">List</span><span style="color:#ABB2BF;">&lt;</span><span style="color:#E5C07B;">String</span><span style="color:#ABB2BF;">&gt;</span><span style="color:#E06C75;"> result </span><span style="color:#56B6C2;">=</span><span style="color:#E5C07B;"> source</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">map</span><span style="color:#ABB2BF;">(Row</span><span style="color:#C678DD;">::</span><span style="color:#ABB2BF;">toString).</span><span style="color:#61AFEF;">collect</span><span style="color:#ABB2BF;">();</span></span>
<span class="line"><span style="color:#C678DD;">for</span><span style="color:#E06C75;"> (</span><span style="color:#E5C07B;">String</span><span style="color:#E06C75;"> s </span><span style="color:#C678DD;">:</span><span style="color:#E06C75;"> result) {</span></span>
<span class="line"><span style="color:#E5C07B;"> System</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">out</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">println</span><span style="color:#ABB2BF;">(s);</span></span>
<span class="line"><span style="color:#E06C75;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_2-2-example-of-tsrecordoutputformat" tabindex="-1"><a class="header-anchor" href="#_2-2-example-of-tsrecordoutputformat"><span>2.2 Example of TSRecordOutputFormat</span></a></h3><ol><li>create TSRecordOutputFormat with default RowTSRecordConverter.</li></ol><div class="language-java line-numbers-mode" data-highlighter="shiki" data-ext="java" data-title="java" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#E5C07B;">String</span><span style="color:#E06C75;">[] filedNames </span><span style="color:#56B6C2;">=</span><span style="color:#E06C75;"> {</span></span>
<span class="line"><span style="color:#E5C07B;"> QueryConstant</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">RESERVED_TIME</span><span style="color:#ABB2BF;">,</span></span>
<span class="line"><span style="color:#98C379;"> &quot;device_1.sensor_1&quot;</span><span style="color:#ABB2BF;">,</span></span>
<span class="line"><span style="color:#98C379;"> &quot;device_1.sensor_2&quot;</span><span style="color:#ABB2BF;">,</span></span>
<span class="line"><span style="color:#98C379;"> &quot;device_1.sensor_3&quot;</span><span style="color:#ABB2BF;">,</span></span>
<span class="line"><span style="color:#98C379;"> &quot;device_2.sensor_1&quot;</span><span style="color:#ABB2BF;">,</span></span>
<span class="line"><span style="color:#98C379;"> &quot;device_2.sensor_2&quot;</span><span style="color:#ABB2BF;">,</span></span>
<span class="line"><span style="color:#98C379;"> &quot;device_2.sensor_3&quot;</span></span>
<span class="line"><span style="color:#E06C75;">}</span><span style="color:#ABB2BF;">;</span></span>
<span class="line"><span style="color:#E5C07B;">TypeInformation</span><span style="color:#E06C75;">[] typeInformations </span><span style="color:#56B6C2;">=</span><span style="color:#C678DD;"> new</span><span style="color:#E5C07B;"> TypeInformation</span><span style="color:#E06C75;">[] {</span></span>
<span class="line"><span style="color:#E5C07B;"> Types</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">LONG</span><span style="color:#ABB2BF;">,</span></span>
<span class="line"><span style="color:#E5C07B;"> Types</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">LONG</span><span style="color:#ABB2BF;">,</span></span>
<span class="line"><span style="color:#E5C07B;"> Types</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">LONG</span><span style="color:#ABB2BF;">,</span></span>
<span class="line"><span style="color:#E5C07B;"> Types</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">LONG</span><span style="color:#ABB2BF;">,</span></span>
<span class="line"><span style="color:#E5C07B;"> Types</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">LONG</span><span style="color:#ABB2BF;">,</span></span>
<span class="line"><span style="color:#E5C07B;"> Types</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">LONG</span><span style="color:#ABB2BF;">,</span></span>
<span class="line"><span style="color:#E5C07B;"> Types</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">LONG</span></span>
<span class="line"><span style="color:#E06C75;">}</span><span style="color:#ABB2BF;">;</span></span>
<span class="line"><span style="color:#E5C07B;">RowTypeInfo</span><span style="color:#E06C75;"> rowTypeInfo </span><span style="color:#56B6C2;">=</span><span style="color:#C678DD;"> new</span><span style="color:#61AFEF;"> RowTypeInfo</span><span style="color:#E06C75;">(typeInformations</span><span style="color:#ABB2BF;">,</span><span style="color:#E06C75;"> filedNames)</span><span style="color:#ABB2BF;">;</span></span>
<span class="line"><span style="color:#E5C07B;">Schema</span><span style="color:#E06C75;"> schema </span><span style="color:#56B6C2;">=</span><span style="color:#C678DD;"> new</span><span style="color:#61AFEF;"> Schema</span><span style="color:#E06C75;">()</span><span style="color:#ABB2BF;">;</span></span>
<span class="line"><span style="color:#E5C07B;">schema</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">extendTemplate</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">&quot;template&quot;</span><span style="color:#ABB2BF;">, </span><span style="color:#C678DD;">new</span><span style="color:#61AFEF;"> MeasurementSchema</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">&quot;sensor_1&quot;</span><span style="color:#ABB2BF;">, </span><span style="color:#E5C07B;">TSDataType</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">INT64</span><span style="color:#ABB2BF;">, </span><span style="color:#E5C07B;">TSEncoding</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">TS_2DIFF</span><span style="color:#ABB2BF;">));</span></span>
<span class="line"><span style="color:#E5C07B;">schema</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">extendTemplate</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">&quot;template&quot;</span><span style="color:#ABB2BF;">, </span><span style="color:#C678DD;">new</span><span style="color:#61AFEF;"> MeasurementSchema</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">&quot;sensor_2&quot;</span><span style="color:#ABB2BF;">, </span><span style="color:#E5C07B;">TSDataType</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">INT64</span><span style="color:#ABB2BF;">, </span><span style="color:#E5C07B;">TSEncoding</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">TS_2DIFF</span><span style="color:#ABB2BF;">));</span></span>
<span class="line"><span style="color:#E5C07B;">schema</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">extendTemplate</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">&quot;template&quot;</span><span style="color:#ABB2BF;">, </span><span style="color:#C678DD;">new</span><span style="color:#61AFEF;"> MeasurementSchema</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">&quot;sensor_3&quot;</span><span style="color:#ABB2BF;">, </span><span style="color:#E5C07B;">TSDataType</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">INT64</span><span style="color:#ABB2BF;">, </span><span style="color:#E5C07B;">TSEncoding</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">TS_2DIFF</span><span style="color:#ABB2BF;">));</span></span>
<span class="line"><span style="color:#E5C07B;">RowTSRecordConverter</span><span style="color:#E06C75;"> converter </span><span style="color:#56B6C2;">=</span><span style="color:#C678DD;"> new</span><span style="color:#61AFEF;"> RowTSRecordConverter</span><span style="color:#E06C75;">(rowTypeInfo)</span><span style="color:#ABB2BF;">;</span></span>
<span class="line"><span style="color:#E5C07B;">TSRecordOutputFormat</span><span style="color:#ABB2BF;">&lt;</span><span style="color:#E5C07B;">Row</span><span style="color:#ABB2BF;">&gt;</span><span style="color:#E06C75;"> outputFormat </span><span style="color:#56B6C2;">=</span><span style="color:#C678DD;"> new</span><span style="color:#E5C07B;"> TSRecordOutputFormat</span><span style="color:#ABB2BF;">&lt;&gt;</span><span style="color:#E06C75;">(schema</span><span style="color:#ABB2BF;">,</span><span style="color:#E06C75;"> converter)</span><span style="color:#ABB2BF;">;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ol start="2"><li>write data via the output format:</li></ol><p>DataStream:</p><div class="language-java line-numbers-mode" data-highlighter="shiki" data-ext="java" data-title="java" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#E5C07B;">StreamExecutionEnvironment</span><span style="color:#E06C75;"> senv </span><span style="color:#56B6C2;">=</span><span style="color:#E5C07B;"> StreamExecutionEnvironment</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">getExecutionEnvironment</span><span style="color:#ABB2BF;">();</span></span>
<span class="line"><span style="color:#E5C07B;">senv</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">setParallelism</span><span style="color:#ABB2BF;">(</span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">);</span></span>
<span class="line"><span style="color:#E5C07B;">List</span><span style="color:#ABB2BF;">&lt;</span><span style="color:#E5C07B;">Tuple7</span><span style="color:#ABB2BF;">&gt;</span><span style="color:#E06C75;"> data </span><span style="color:#56B6C2;">=</span><span style="color:#C678DD;"> new</span><span style="color:#E5C07B;"> ArrayList</span><span style="color:#ABB2BF;">&lt;&gt;</span><span style="color:#E06C75;">(</span><span style="color:#D19A66;">7</span><span style="color:#E06C75;">)</span><span style="color:#ABB2BF;">;</span></span>
<span class="line"><span style="color:#E5C07B;">data</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">add</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">new</span><span style="color:#61AFEF;"> Tuple7</span><span style="color:#ABB2BF;">(</span><span style="color:#D19A66;">1L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">2L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">3L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">4L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">5L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">6L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">7L</span><span style="color:#ABB2BF;">));</span></span>
<span class="line"><span style="color:#E5C07B;">data</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">add</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">new</span><span style="color:#61AFEF;"> Tuple7</span><span style="color:#ABB2BF;">(</span><span style="color:#D19A66;">2L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">3L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">4L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">5L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">6L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">7L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">8L</span><span style="color:#ABB2BF;">));</span></span>
<span class="line"><span style="color:#E5C07B;">data</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">add</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">new</span><span style="color:#61AFEF;"> Tuple7</span><span style="color:#ABB2BF;">(</span><span style="color:#D19A66;">3L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">4L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">5L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">6L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">7L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">8L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">9L</span><span style="color:#ABB2BF;">));</span></span>
<span class="line"><span style="color:#E5C07B;">data</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">add</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">new</span><span style="color:#61AFEF;"> Tuple7</span><span style="color:#ABB2BF;">(</span><span style="color:#D19A66;">4L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">5L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">6L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">7L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">8L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">9L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">10L</span><span style="color:#ABB2BF;">));</span></span>
<span class="line"><span style="color:#E5C07B;">data</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">add</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">new</span><span style="color:#61AFEF;"> Tuple7</span><span style="color:#ABB2BF;">(</span><span style="color:#D19A66;">6L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">6L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">7L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">8L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">9L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">10L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">11L</span><span style="color:#ABB2BF;">));</span></span>
<span class="line"><span style="color:#E5C07B;">data</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">add</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">new</span><span style="color:#61AFEF;"> Tuple7</span><span style="color:#ABB2BF;">(</span><span style="color:#D19A66;">7L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">7L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">8L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">9L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">10L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">11L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">12L</span><span style="color:#ABB2BF;">));</span></span>
<span class="line"><span style="color:#E5C07B;">data</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">add</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">new</span><span style="color:#61AFEF;"> Tuple7</span><span style="color:#ABB2BF;">(</span><span style="color:#D19A66;">8L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">8L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">9L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">10L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">11L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">12L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">13L</span><span style="color:#ABB2BF;">));</span></span>
<span class="line"><span style="color:#E5C07B;">outputFormat</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">setOutputFilePath</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">new</span><span style="color:#ABB2BF;"> org.</span><span style="color:#E5C07B;">apache</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">flink</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">core</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">fs</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">Path</span><span style="color:#ABB2BF;">(path));</span></span>
<span class="line"><span style="color:#E5C07B;">DataStream</span><span style="color:#ABB2BF;">&lt;</span><span style="color:#E5C07B;">Tuple7</span><span style="color:#ABB2BF;">&gt;</span><span style="color:#E06C75;"> source </span><span style="color:#56B6C2;">=</span><span style="color:#E5C07B;"> senv</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">fromCollection</span><span style="color:#ABB2BF;">(</span></span>
<span class="line"><span style="color:#ABB2BF;"> data, </span><span style="color:#E5C07B;">Types</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">TUPLE</span><span style="color:#ABB2BF;">(</span><span style="color:#E5C07B;">Types</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">LONG</span><span style="color:#ABB2BF;">, </span><span style="color:#E5C07B;">Types</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">LONG</span><span style="color:#ABB2BF;">, </span><span style="color:#E5C07B;">Types</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">LONG</span><span style="color:#ABB2BF;">, </span><span style="color:#E5C07B;">Types</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">LONG</span><span style="color:#ABB2BF;">, </span><span style="color:#E5C07B;">Types</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">LONG</span><span style="color:#ABB2BF;">, </span><span style="color:#E5C07B;">Types</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">LONG</span><span style="color:#ABB2BF;">, </span><span style="color:#E5C07B;">Types</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">LONG</span><span style="color:#ABB2BF;">));</span></span>
<span class="line"><span style="color:#E5C07B;">source</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">map</span><span style="color:#ABB2BF;">(t </span><span style="color:#C678DD;">-&gt;</span><span style="color:#ABB2BF;"> {</span></span>
<span class="line"><span style="color:#E5C07B;"> Row</span><span style="color:#E06C75;"> row</span><span style="color:#56B6C2;"> =</span><span style="color:#C678DD;"> new</span><span style="color:#61AFEF;"> Row</span><span style="color:#ABB2BF;">(</span><span style="color:#D19A66;">7</span><span style="color:#ABB2BF;">);</span></span>
<span class="line"><span style="color:#C678DD;"> for</span><span style="color:#ABB2BF;"> (</span><span style="color:#C678DD;">int</span><span style="color:#E06C75;"> i</span><span style="color:#56B6C2;"> =</span><span style="color:#D19A66;"> 0</span><span style="color:#ABB2BF;">; i </span><span style="color:#56B6C2;">&lt;</span><span style="color:#D19A66;"> 7</span><span style="color:#ABB2BF;">; i++) {</span></span>
<span class="line"><span style="color:#E5C07B;"> row</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">setField</span><span style="color:#ABB2BF;">(i, </span><span style="color:#E5C07B;">t</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">getField</span><span style="color:#ABB2BF;">(i));</span></span>
<span class="line"><span style="color:#ABB2BF;"> }</span></span>
<span class="line"><span style="color:#C678DD;"> return</span><span style="color:#ABB2BF;"> row;</span></span>
<span class="line"><span style="color:#ABB2BF;">}).</span><span style="color:#61AFEF;">returns</span><span style="color:#ABB2BF;">(rowTypeInfo).</span><span style="color:#61AFEF;">writeUsingOutputFormat</span><span style="color:#ABB2BF;">(outputFormat);</span></span>
<span class="line"><span style="color:#E5C07B;">senv</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">execute</span><span style="color:#ABB2BF;">();</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>DataSet:</p><div class="language-java line-numbers-mode" data-highlighter="shiki" data-ext="java" data-title="java" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#E5C07B;">ExecutionEnvironment</span><span style="color:#E06C75;"> env </span><span style="color:#56B6C2;">=</span><span style="color:#E5C07B;"> ExecutionEnvironment</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">getExecutionEnvironment</span><span style="color:#ABB2BF;">();</span></span>
<span class="line"><span style="color:#E5C07B;">env</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">setParallelism</span><span style="color:#ABB2BF;">(</span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">);</span></span>
<span class="line"><span style="color:#E5C07B;">List</span><span style="color:#ABB2BF;">&lt;</span><span style="color:#E5C07B;">Tuple7</span><span style="color:#ABB2BF;">&gt;</span><span style="color:#E06C75;"> data </span><span style="color:#56B6C2;">=</span><span style="color:#C678DD;"> new</span><span style="color:#E5C07B;"> ArrayList</span><span style="color:#ABB2BF;">&lt;&gt;</span><span style="color:#E06C75;">(</span><span style="color:#D19A66;">7</span><span style="color:#E06C75;">)</span><span style="color:#ABB2BF;">;</span></span>
<span class="line"><span style="color:#E5C07B;">data</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">add</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">new</span><span style="color:#61AFEF;"> Tuple7</span><span style="color:#ABB2BF;">(</span><span style="color:#D19A66;">1L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">2L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">3L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">4L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">5L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">6L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">7L</span><span style="color:#ABB2BF;">));</span></span>
<span class="line"><span style="color:#E5C07B;">data</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">add</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">new</span><span style="color:#61AFEF;"> Tuple7</span><span style="color:#ABB2BF;">(</span><span style="color:#D19A66;">2L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">3L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">4L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">5L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">6L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">7L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">8L</span><span style="color:#ABB2BF;">));</span></span>
<span class="line"><span style="color:#E5C07B;">data</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">add</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">new</span><span style="color:#61AFEF;"> Tuple7</span><span style="color:#ABB2BF;">(</span><span style="color:#D19A66;">3L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">4L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">5L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">6L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">7L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">8L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">9L</span><span style="color:#ABB2BF;">));</span></span>
<span class="line"><span style="color:#E5C07B;">data</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">add</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">new</span><span style="color:#61AFEF;"> Tuple7</span><span style="color:#ABB2BF;">(</span><span style="color:#D19A66;">4L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">5L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">6L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">7L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">8L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">9L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">10L</span><span style="color:#ABB2BF;">));</span></span>
<span class="line"><span style="color:#E5C07B;">data</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">add</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">new</span><span style="color:#61AFEF;"> Tuple7</span><span style="color:#ABB2BF;">(</span><span style="color:#D19A66;">6L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">6L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">7L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">8L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">9L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">10L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">11L</span><span style="color:#ABB2BF;">));</span></span>
<span class="line"><span style="color:#E5C07B;">data</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">add</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">new</span><span style="color:#61AFEF;"> Tuple7</span><span style="color:#ABB2BF;">(</span><span style="color:#D19A66;">7L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">7L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">8L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">9L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">10L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">11L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">12L</span><span style="color:#ABB2BF;">));</span></span>
<span class="line"><span style="color:#E5C07B;">data</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">add</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">new</span><span style="color:#61AFEF;"> Tuple7</span><span style="color:#ABB2BF;">(</span><span style="color:#D19A66;">8L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">8L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">9L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">10L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">11L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">12L</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">13L</span><span style="color:#ABB2BF;">));</span></span>
<span class="line"><span style="color:#E5C07B;">DataSet</span><span style="color:#ABB2BF;">&lt;</span><span style="color:#E5C07B;">Tuple7</span><span style="color:#ABB2BF;">&gt;</span><span style="color:#E06C75;"> source </span><span style="color:#56B6C2;">=</span><span style="color:#E5C07B;"> env</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">fromCollection</span><span style="color:#ABB2BF;">(</span></span>
<span class="line"><span style="color:#ABB2BF;"> data, </span><span style="color:#E5C07B;">Types</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">TUPLE</span><span style="color:#ABB2BF;">(</span><span style="color:#E5C07B;">Types</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">LONG</span><span style="color:#ABB2BF;">, </span><span style="color:#E5C07B;">Types</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">LONG</span><span style="color:#ABB2BF;">, </span><span style="color:#E5C07B;">Types</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">LONG</span><span style="color:#ABB2BF;">, </span><span style="color:#E5C07B;">Types</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">LONG</span><span style="color:#ABB2BF;">, </span><span style="color:#E5C07B;">Types</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">LONG</span><span style="color:#ABB2BF;">, </span><span style="color:#E5C07B;">Types</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">LONG</span><span style="color:#ABB2BF;">, </span><span style="color:#E5C07B;">Types</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">LONG</span><span style="color:#ABB2BF;">));</span></span>
<span class="line"><span style="color:#E5C07B;">source</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">map</span><span style="color:#ABB2BF;">(t </span><span style="color:#C678DD;">-&gt;</span><span style="color:#ABB2BF;"> {</span></span>
<span class="line"><span style="color:#E5C07B;"> Row</span><span style="color:#E06C75;"> row</span><span style="color:#56B6C2;"> =</span><span style="color:#C678DD;"> new</span><span style="color:#61AFEF;"> Row</span><span style="color:#ABB2BF;">(</span><span style="color:#D19A66;">7</span><span style="color:#ABB2BF;">);</span></span>
<span class="line"><span style="color:#C678DD;"> for</span><span style="color:#ABB2BF;"> (</span><span style="color:#C678DD;">int</span><span style="color:#E06C75;"> i</span><span style="color:#56B6C2;"> =</span><span style="color:#D19A66;"> 0</span><span style="color:#ABB2BF;">; i </span><span style="color:#56B6C2;">&lt;</span><span style="color:#D19A66;"> 7</span><span style="color:#ABB2BF;">; i++) {</span></span>
<span class="line"><span style="color:#E5C07B;"> row</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">setField</span><span style="color:#ABB2BF;">(i, </span><span style="color:#E5C07B;">t</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">getField</span><span style="color:#ABB2BF;">(i));</span></span>
<span class="line"><span style="color:#ABB2BF;"> }</span></span>
<span class="line"><span style="color:#C678DD;"> return</span><span style="color:#ABB2BF;"> row;</span></span>
<span class="line"><span style="color:#ABB2BF;">}).</span><span style="color:#61AFEF;">returns</span><span style="color:#ABB2BF;">(rowTypeInfo).</span><span style="color:#61AFEF;">write</span><span style="color:#ABB2BF;">(outputFormat, path);</span></span>
<span class="line"><span style="color:#E5C07B;">env</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">execute</span><span style="color:#ABB2BF;">();</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div>`,22)]))}const B=n(p,[["render",e],["__file","Flink-TsFile.html.vue"]]),c=JSON.parse('{"path":"/UserGuide/latest/Ecosystem-Integration/Flink-TsFile.html","title":"Apache Flink(TsFile)","lang":"en-US","frontmatter":{"description":"Apache Flink(TsFile) 1. About Flink-TsFile-Connector Flink-TsFile-Connector implements the support of Flink for external data sources of Tsfile type. This enables users to read ...","head":[["link",{"rel":"alternate","hreflang":"zh-cn","href":"https://iotdb.apache.org/zh/UserGuide/latest/Ecosystem-Integration/Flink-TsFile.html"}],["meta",{"property":"og:url","content":"https://iotdb.apache.org/UserGuide/latest/Ecosystem-Integration/Flink-TsFile.html"}],["meta",{"property":"og:site_name","content":"IoTDB Website"}],["meta",{"property":"og:title","content":"Apache Flink(TsFile)"}],["meta",{"property":"og:description","content":"Apache Flink(TsFile) 1. About Flink-TsFile-Connector Flink-TsFile-Connector implements the support of Flink for external data sources of Tsfile type. This enables users to read ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:locale:alternate","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2025-02-28T08:06:05.000Z"}],["meta",{"property":"article:modified_time","content":"2025-02-28T08:06:05.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Apache Flink(TsFile)\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2025-02-28T08:06:05.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"1. About Flink-TsFile-Connector","slug":"_1-about-flink-tsfile-connector","link":"#_1-about-flink-tsfile-connector","children":[]},{"level":2,"title":"2. Quick Start","slug":"_2-quick-start","link":"#_2-quick-start","children":[{"level":3,"title":"2.1 TsFileInputFormat Example","slug":"_2-1-tsfileinputformat-example","link":"#_2-1-tsfileinputformat-example","children":[]},{"level":3,"title":"2.2 Example of TSRecordOutputFormat","slug":"_2-2-example-of-tsrecordoutputformat","link":"#_2-2-example-of-tsrecordoutputformat","children":[]}]}],"git":{"createdTime":1688958677000,"updatedTime":1740729965000,"contributors":[{"name":"CritasWang","username":"CritasWang","email":"critas@outlook.com","commits":3,"url":"https://github.com/CritasWang"},{"name":"Lei","username":"Lei","email":"33376433+LeiRui@users.noreply.github.com","commits":1,"url":"https://github.com/Lei"},{"name":"W1y1r","username":"W1y1r","email":"150988475+W1y1r@users.noreply.github.com","commits":1,"url":"https://github.com/W1y1r"},{"name":"leto-b","username":"leto-b","email":"bingqian.bai@timecho.com","commits":1,"url":"https://github.com/leto-b"}]},"readingTime":{"minutes":2.17,"words":652},"filePathRelative":"UserGuide/latest/Ecosystem-Integration/Flink-TsFile.md","localizedDate":"July 10, 2023","autoDesc":true}');export{B as comp,c as data};