| import{_ as n,O as s,P as a,ah as t,aW as p}from"./framework-44b8a372.js";const e={},o=p(`<h2 id="flink-tsfile-connector" tabindex="-1"><a class="header-anchor" href="#flink-tsfile-connector" aria-hidden="true">#</a> Flink-TsFile-Connector</h2><h3 id="about-flink-tsfile-connector" tabindex="-1"><a class="header-anchor" href="#about-flink-tsfile-connector" aria-hidden="true">#</a> About Flink-TsFile-Connector</h3><p>Flink-TsFile-Connector implements the support of Flink for external data sources of Tsfile type. 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><h3 id="quick-start" tabindex="-1"><a class="header-anchor" href="#quick-start" aria-hidden="true">#</a> Quick Start</h3><h4 id="tsfileinputformat-example" tabindex="-1"><a class="header-anchor" href="#tsfileinputformat-example" aria-hidden="true">#</a> TsFileInputFormat Example</h4><ol><li>create TsFileInputFormat with default RowRowRecordParser.</li></ol><div class="language-java line-numbers-mode" data-ext="java"><pre class="language-java"><code><span class="token class-name">String</span><span class="token punctuation">[</span><span class="token punctuation">]</span> filedNames <span class="token operator">=</span> <span class="token punctuation">{</span> |
| <span class="token class-name">QueryConstant</span><span class="token punctuation">.</span><span class="token constant">RESERVED_TIME</span><span class="token punctuation">,</span> |
| <span class="token string">"device_1.sensor_1"</span><span class="token punctuation">,</span> |
| <span class="token string">"device_1.sensor_2"</span><span class="token punctuation">,</span> |
| <span class="token string">"device_1.sensor_3"</span><span class="token punctuation">,</span> |
| <span class="token string">"device_2.sensor_1"</span><span class="token punctuation">,</span> |
| <span class="token string">"device_2.sensor_2"</span><span class="token punctuation">,</span> |
| <span class="token string">"device_2.sensor_3"</span> |
| <span class="token punctuation">}</span><span class="token punctuation">;</span> |
| <span class="token class-name">TypeInformation</span><span class="token punctuation">[</span><span class="token punctuation">]</span> typeInformations <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">TypeInformation</span><span class="token punctuation">[</span><span class="token punctuation">]</span> <span class="token punctuation">{</span> |
| <span class="token class-name">Types</span><span class="token punctuation">.</span><span class="token constant">LONG</span><span class="token punctuation">,</span> |
| <span class="token class-name">Types</span><span class="token punctuation">.</span><span class="token constant">FLOAT</span><span class="token punctuation">,</span> |
| <span class="token class-name">Types</span><span class="token punctuation">.</span><span class="token constant">INT</span><span class="token punctuation">,</span> |
| <span class="token class-name">Types</span><span class="token punctuation">.</span><span class="token constant">INT</span><span class="token punctuation">,</span> |
| <span class="token class-name">Types</span><span class="token punctuation">.</span><span class="token constant">FLOAT</span><span class="token punctuation">,</span> |
| <span class="token class-name">Types</span><span class="token punctuation">.</span><span class="token constant">INT</span><span class="token punctuation">,</span> |
| <span class="token class-name">Types</span><span class="token punctuation">.</span><span class="token constant">INT</span> |
| <span class="token punctuation">}</span><span class="token punctuation">;</span> |
| <span class="token class-name">List</span><span class="token generics"><span class="token punctuation"><</span><span class="token class-name">Path</span><span class="token punctuation">></span></span> paths <span class="token operator">=</span> <span class="token class-name">Arrays</span><span class="token punctuation">.</span><span class="token function">stream</span><span class="token punctuation">(</span>filedNames<span class="token punctuation">)</span> |
| <span class="token punctuation">.</span><span class="token function">filter</span><span class="token punctuation">(</span>s <span class="token operator">-></span> <span class="token operator">!</span>s<span class="token punctuation">.</span><span class="token function">equals</span><span class="token punctuation">(</span><span class="token class-name">QueryConstant</span><span class="token punctuation">.</span><span class="token constant">RESERVED_TIME</span><span class="token punctuation">)</span><span class="token punctuation">)</span> |
| <span class="token punctuation">.</span><span class="token function">map</span><span class="token punctuation">(</span><span class="token class-name">Path</span><span class="token operator">::</span><span class="token keyword">new</span><span class="token punctuation">)</span> |
| <span class="token punctuation">.</span><span class="token function">collect</span><span class="token punctuation">(</span><span class="token class-name">Collectors</span><span class="token punctuation">.</span><span class="token function">toList</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| <span class="token class-name">RowTypeInfo</span> rowTypeInfo <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">RowTypeInfo</span><span class="token punctuation">(</span>typeInformations<span class="token punctuation">,</span> filedNames<span class="token punctuation">)</span><span class="token punctuation">;</span> |
| <span class="token class-name">QueryExpression</span> queryExpression <span class="token operator">=</span> <span class="token class-name">QueryExpression</span><span class="token punctuation">.</span><span class="token function">create</span><span class="token punctuation">(</span>paths<span class="token punctuation">,</span> <span class="token keyword">null</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| <span class="token class-name">RowRowRecordParser</span> parser <span class="token operator">=</span> <span class="token class-name">RowRowRecordParser</span><span class="token punctuation">.</span><span class="token function">create</span><span class="token punctuation">(</span>rowTypeInfo<span class="token punctuation">,</span> queryExpression<span class="token punctuation">.</span><span class="token function">getSelectedSeries</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| <span class="token class-name">TsFileInputFormat</span> inputFormat <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">TsFileInputFormat</span><span class="token generics"><span class="token punctuation"><</span><span class="token punctuation">></span></span><span class="token punctuation">(</span>queryExpression<span class="token punctuation">,</span> parser<span class="token punctuation">)</span><span class="token punctuation">;</span> |
| </code></pre><div class="line-numbers" aria-hidden="true"><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-ext="java"><pre class="language-java"><code><span class="token class-name">StreamExecutionEnvironment</span> senv <span class="token operator">=</span> <span class="token class-name">StreamExecutionEnvironment</span><span class="token punctuation">.</span><span class="token function">getExecutionEnvironment</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| inputFormat<span class="token punctuation">.</span><span class="token function">setFilePath</span><span class="token punctuation">(</span><span class="token string">"source.tsfile"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| <span class="token class-name">DataStream</span><span class="token generics"><span class="token punctuation"><</span><span class="token class-name">Row</span><span class="token punctuation">></span></span> source <span class="token operator">=</span> senv<span class="token punctuation">.</span><span class="token function">createInput</span><span class="token punctuation">(</span>inputFormat<span class="token punctuation">)</span><span class="token punctuation">;</span> |
| <span class="token class-name">DataStream</span><span class="token generics"><span class="token punctuation"><</span><span class="token class-name">String</span><span class="token punctuation">></span></span> rowString <span class="token operator">=</span> source<span class="token punctuation">.</span><span class="token function">map</span><span class="token punctuation">(</span><span class="token class-name">Row</span><span class="token operator">::</span><span class="token function">toString</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| <span class="token class-name">Iterator</span><span class="token generics"><span class="token punctuation"><</span><span class="token class-name">String</span><span class="token punctuation">></span></span> result <span class="token operator">=</span> <span class="token class-name">DataStreamUtils</span><span class="token punctuation">.</span><span class="token function">collect</span><span class="token punctuation">(</span>rowString<span class="token punctuation">)</span><span class="token punctuation">;</span> |
| <span class="token keyword">while</span> <span class="token punctuation">(</span>result<span class="token punctuation">.</span><span class="token function">hasNext</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> |
| <span class="token class-name">System</span><span class="token punctuation">.</span>out<span class="token punctuation">.</span><span class="token function">println</span><span class="token punctuation">(</span>result<span class="token punctuation">.</span><span class="token function">next</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| <span class="token punctuation">}</span> |
| </code></pre><div class="line-numbers" aria-hidden="true"><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-ext="java"><pre class="language-java"><code><span class="token class-name">ExecutionEnvironment</span> env <span class="token operator">=</span> <span class="token class-name">ExecutionEnvironment</span><span class="token punctuation">.</span><span class="token function">getExecutionEnvironment</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| inputFormat<span class="token punctuation">.</span><span class="token function">setFilePath</span><span class="token punctuation">(</span><span class="token string">"source.tsfile"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| <span class="token class-name">DataSet</span><span class="token generics"><span class="token punctuation"><</span><span class="token class-name">Row</span><span class="token punctuation">></span></span> source <span class="token operator">=</span> env<span class="token punctuation">.</span><span class="token function">createInput</span><span class="token punctuation">(</span>inputFormat<span class="token punctuation">)</span><span class="token punctuation">;</span> |
| <span class="token class-name">List</span><span class="token generics"><span class="token punctuation"><</span><span class="token class-name">String</span><span class="token punctuation">></span></span> result <span class="token operator">=</span> source<span class="token punctuation">.</span><span class="token function">map</span><span class="token punctuation">(</span><span class="token class-name">Row</span><span class="token operator">::</span><span class="token function">toString</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">collect</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| <span class="token keyword">for</span> <span class="token punctuation">(</span><span class="token class-name">String</span> s <span class="token operator">:</span> result<span class="token punctuation">)</span> <span class="token punctuation">{</span> |
| <span class="token class-name">System</span><span class="token punctuation">.</span>out<span class="token punctuation">.</span><span class="token function">println</span><span class="token punctuation">(</span>s<span class="token punctuation">)</span><span class="token punctuation">;</span> |
| <span class="token punctuation">}</span> |
| </code></pre><div class="line-numbers" aria-hidden="true"><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><h4 id="example-of-tsrecordoutputformat" tabindex="-1"><a class="header-anchor" href="#example-of-tsrecordoutputformat" aria-hidden="true">#</a> Example of TSRecordOutputFormat</h4><ol><li>create TSRecordOutputFormat with default RowTSRecordConverter.</li></ol><div class="language-java line-numbers-mode" data-ext="java"><pre class="language-java"><code><span class="token class-name">String</span><span class="token punctuation">[</span><span class="token punctuation">]</span> filedNames <span class="token operator">=</span> <span class="token punctuation">{</span> |
| <span class="token class-name">QueryConstant</span><span class="token punctuation">.</span><span class="token constant">RESERVED_TIME</span><span class="token punctuation">,</span> |
| <span class="token string">"device_1.sensor_1"</span><span class="token punctuation">,</span> |
| <span class="token string">"device_1.sensor_2"</span><span class="token punctuation">,</span> |
| <span class="token string">"device_1.sensor_3"</span><span class="token punctuation">,</span> |
| <span class="token string">"device_2.sensor_1"</span><span class="token punctuation">,</span> |
| <span class="token string">"device_2.sensor_2"</span><span class="token punctuation">,</span> |
| <span class="token string">"device_2.sensor_3"</span> |
| <span class="token punctuation">}</span><span class="token punctuation">;</span> |
| <span class="token class-name">TypeInformation</span><span class="token punctuation">[</span><span class="token punctuation">]</span> typeInformations <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">TypeInformation</span><span class="token punctuation">[</span><span class="token punctuation">]</span> <span class="token punctuation">{</span> |
| <span class="token class-name">Types</span><span class="token punctuation">.</span><span class="token constant">LONG</span><span class="token punctuation">,</span> |
| <span class="token class-name">Types</span><span class="token punctuation">.</span><span class="token constant">LONG</span><span class="token punctuation">,</span> |
| <span class="token class-name">Types</span><span class="token punctuation">.</span><span class="token constant">LONG</span><span class="token punctuation">,</span> |
| <span class="token class-name">Types</span><span class="token punctuation">.</span><span class="token constant">LONG</span><span class="token punctuation">,</span> |
| <span class="token class-name">Types</span><span class="token punctuation">.</span><span class="token constant">LONG</span><span class="token punctuation">,</span> |
| <span class="token class-name">Types</span><span class="token punctuation">.</span><span class="token constant">LONG</span><span class="token punctuation">,</span> |
| <span class="token class-name">Types</span><span class="token punctuation">.</span><span class="token constant">LONG</span> |
| <span class="token punctuation">}</span><span class="token punctuation">;</span> |
| <span class="token class-name">RowTypeInfo</span> rowTypeInfo <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">RowTypeInfo</span><span class="token punctuation">(</span>typeInformations<span class="token punctuation">,</span> filedNames<span class="token punctuation">)</span><span class="token punctuation">;</span> |
| <span class="token class-name">Schema</span> schema <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Schema</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| schema<span class="token punctuation">.</span><span class="token function">extendTemplate</span><span class="token punctuation">(</span><span class="token string">"template"</span><span class="token punctuation">,</span> <span class="token keyword">new</span> <span class="token class-name">MeasurementSchema</span><span class="token punctuation">(</span><span class="token string">"sensor_1"</span><span class="token punctuation">,</span> <span class="token class-name">TSDataType</span><span class="token punctuation">.</span><span class="token constant">INT64</span><span class="token punctuation">,</span> <span class="token class-name">TSEncoding</span><span class="token punctuation">.</span><span class="token constant">TS_2DIFF</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| schema<span class="token punctuation">.</span><span class="token function">extendTemplate</span><span class="token punctuation">(</span><span class="token string">"template"</span><span class="token punctuation">,</span> <span class="token keyword">new</span> <span class="token class-name">MeasurementSchema</span><span class="token punctuation">(</span><span class="token string">"sensor_2"</span><span class="token punctuation">,</span> <span class="token class-name">TSDataType</span><span class="token punctuation">.</span><span class="token constant">INT64</span><span class="token punctuation">,</span> <span class="token class-name">TSEncoding</span><span class="token punctuation">.</span><span class="token constant">TS_2DIFF</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| schema<span class="token punctuation">.</span><span class="token function">extendTemplate</span><span class="token punctuation">(</span><span class="token string">"template"</span><span class="token punctuation">,</span> <span class="token keyword">new</span> <span class="token class-name">MeasurementSchema</span><span class="token punctuation">(</span><span class="token string">"sensor_3"</span><span class="token punctuation">,</span> <span class="token class-name">TSDataType</span><span class="token punctuation">.</span><span class="token constant">INT64</span><span class="token punctuation">,</span> <span class="token class-name">TSEncoding</span><span class="token punctuation">.</span><span class="token constant">TS_2DIFF</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| <span class="token class-name">RowTSRecordConverter</span> converter <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">RowTSRecordConverter</span><span class="token punctuation">(</span>rowTypeInfo<span class="token punctuation">)</span><span class="token punctuation">;</span> |
| <span class="token class-name">TSRecordOutputFormat</span><span class="token generics"><span class="token punctuation"><</span><span class="token class-name">Row</span><span class="token punctuation">></span></span> outputFormat <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">TSRecordOutputFormat</span><span class="token generics"><span class="token punctuation"><</span><span class="token punctuation">></span></span><span class="token punctuation">(</span>schema<span class="token punctuation">,</span> converter<span class="token punctuation">)</span><span class="token punctuation">;</span> |
| </code></pre><div class="line-numbers" aria-hidden="true"><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-ext="java"><pre class="language-java"><code><span class="token class-name">StreamExecutionEnvironment</span> senv <span class="token operator">=</span> <span class="token class-name">StreamExecutionEnvironment</span><span class="token punctuation">.</span><span class="token function">getExecutionEnvironment</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| senv<span class="token punctuation">.</span><span class="token function">setParallelism</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| <span class="token class-name">List</span><span class="token generics"><span class="token punctuation"><</span><span class="token class-name">Tuple7</span><span class="token punctuation">></span></span> data <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ArrayList</span><span class="token generics"><span class="token punctuation"><</span><span class="token punctuation">></span></span><span class="token punctuation">(</span><span class="token number">7</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| data<span class="token punctuation">.</span><span class="token function">add</span><span class="token punctuation">(</span><span class="token keyword">new</span> <span class="token class-name">Tuple7</span><span class="token punctuation">(</span><span class="token number">1L</span><span class="token punctuation">,</span> <span class="token number">2L</span><span class="token punctuation">,</span> <span class="token number">3L</span><span class="token punctuation">,</span> <span class="token number">4L</span><span class="token punctuation">,</span> <span class="token number">5L</span><span class="token punctuation">,</span> <span class="token number">6L</span><span class="token punctuation">,</span> <span class="token number">7L</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| data<span class="token punctuation">.</span><span class="token function">add</span><span class="token punctuation">(</span><span class="token keyword">new</span> <span class="token class-name">Tuple7</span><span class="token punctuation">(</span><span class="token number">2L</span><span class="token punctuation">,</span> <span class="token number">3L</span><span class="token punctuation">,</span> <span class="token number">4L</span><span class="token punctuation">,</span> <span class="token number">5L</span><span class="token punctuation">,</span> <span class="token number">6L</span><span class="token punctuation">,</span> <span class="token number">7L</span><span class="token punctuation">,</span> <span class="token number">8L</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| data<span class="token punctuation">.</span><span class="token function">add</span><span class="token punctuation">(</span><span class="token keyword">new</span> <span class="token class-name">Tuple7</span><span class="token punctuation">(</span><span class="token number">3L</span><span class="token punctuation">,</span> <span class="token number">4L</span><span class="token punctuation">,</span> <span class="token number">5L</span><span class="token punctuation">,</span> <span class="token number">6L</span><span class="token punctuation">,</span> <span class="token number">7L</span><span class="token punctuation">,</span> <span class="token number">8L</span><span class="token punctuation">,</span> <span class="token number">9L</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| data<span class="token punctuation">.</span><span class="token function">add</span><span class="token punctuation">(</span><span class="token keyword">new</span> <span class="token class-name">Tuple7</span><span class="token punctuation">(</span><span class="token number">4L</span><span class="token punctuation">,</span> <span class="token number">5L</span><span class="token punctuation">,</span> <span class="token number">6L</span><span class="token punctuation">,</span> <span class="token number">7L</span><span class="token punctuation">,</span> <span class="token number">8L</span><span class="token punctuation">,</span> <span class="token number">9L</span><span class="token punctuation">,</span> <span class="token number">10L</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| data<span class="token punctuation">.</span><span class="token function">add</span><span class="token punctuation">(</span><span class="token keyword">new</span> <span class="token class-name">Tuple7</span><span class="token punctuation">(</span><span class="token number">6L</span><span class="token punctuation">,</span> <span class="token number">6L</span><span class="token punctuation">,</span> <span class="token number">7L</span><span class="token punctuation">,</span> <span class="token number">8L</span><span class="token punctuation">,</span> <span class="token number">9L</span><span class="token punctuation">,</span> <span class="token number">10L</span><span class="token punctuation">,</span> <span class="token number">11L</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| data<span class="token punctuation">.</span><span class="token function">add</span><span class="token punctuation">(</span><span class="token keyword">new</span> <span class="token class-name">Tuple7</span><span class="token punctuation">(</span><span class="token number">7L</span><span class="token punctuation">,</span> <span class="token number">7L</span><span class="token punctuation">,</span> <span class="token number">8L</span><span class="token punctuation">,</span> <span class="token number">9L</span><span class="token punctuation">,</span> <span class="token number">10L</span><span class="token punctuation">,</span> <span class="token number">11L</span><span class="token punctuation">,</span> <span class="token number">12L</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| data<span class="token punctuation">.</span><span class="token function">add</span><span class="token punctuation">(</span><span class="token keyword">new</span> <span class="token class-name">Tuple7</span><span class="token punctuation">(</span><span class="token number">8L</span><span class="token punctuation">,</span> <span class="token number">8L</span><span class="token punctuation">,</span> <span class="token number">9L</span><span class="token punctuation">,</span> <span class="token number">10L</span><span class="token punctuation">,</span> <span class="token number">11L</span><span class="token punctuation">,</span> <span class="token number">12L</span><span class="token punctuation">,</span> <span class="token number">13L</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| outputFormat<span class="token punctuation">.</span><span class="token function">setOutputFilePath</span><span class="token punctuation">(</span><span class="token keyword">new</span> <span class="token class-name"><span class="token namespace">org<span class="token punctuation">.</span>apache<span class="token punctuation">.</span>flink<span class="token punctuation">.</span>core<span class="token punctuation">.</span>fs<span class="token punctuation">.</span></span>Path</span><span class="token punctuation">(</span>path<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| <span class="token class-name">DataStream</span><span class="token generics"><span class="token punctuation"><</span><span class="token class-name">Tuple7</span><span class="token punctuation">></span></span> source <span class="token operator">=</span> senv<span class="token punctuation">.</span><span class="token function">fromCollection</span><span class="token punctuation">(</span> |
| data<span class="token punctuation">,</span> <span class="token class-name">Types</span><span class="token punctuation">.</span><span class="token function">TUPLE</span><span class="token punctuation">(</span><span class="token class-name">Types</span><span class="token punctuation">.</span><span class="token constant">LONG</span><span class="token punctuation">,</span> <span class="token class-name">Types</span><span class="token punctuation">.</span><span class="token constant">LONG</span><span class="token punctuation">,</span> <span class="token class-name">Types</span><span class="token punctuation">.</span><span class="token constant">LONG</span><span class="token punctuation">,</span> <span class="token class-name">Types</span><span class="token punctuation">.</span><span class="token constant">LONG</span><span class="token punctuation">,</span> <span class="token class-name">Types</span><span class="token punctuation">.</span><span class="token constant">LONG</span><span class="token punctuation">,</span> <span class="token class-name">Types</span><span class="token punctuation">.</span><span class="token constant">LONG</span><span class="token punctuation">,</span> <span class="token class-name">Types</span><span class="token punctuation">.</span><span class="token constant">LONG</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| source<span class="token punctuation">.</span><span class="token function">map</span><span class="token punctuation">(</span>t <span class="token operator">-></span> <span class="token punctuation">{</span> |
| <span class="token class-name">Row</span> row <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Row</span><span class="token punctuation">(</span><span class="token number">7</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| <span class="token keyword">for</span> <span class="token punctuation">(</span><span class="token keyword">int</span> i <span class="token operator">=</span> <span class="token number">0</span><span class="token punctuation">;</span> i <span class="token operator"><</span> <span class="token number">7</span><span class="token punctuation">;</span> i<span class="token operator">++</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> |
| row<span class="token punctuation">.</span><span class="token function">setField</span><span class="token punctuation">(</span>i<span class="token punctuation">,</span> t<span class="token punctuation">.</span><span class="token function">getField</span><span class="token punctuation">(</span>i<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| <span class="token punctuation">}</span> |
| <span class="token keyword">return</span> row<span class="token punctuation">;</span> |
| <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">returns</span><span class="token punctuation">(</span>rowTypeInfo<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">writeUsingOutputFormat</span><span class="token punctuation">(</span>outputFormat<span class="token punctuation">)</span><span class="token punctuation">;</span> |
| senv<span class="token punctuation">.</span><span class="token function">execute</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| </code></pre><div class="line-numbers" aria-hidden="true"><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-ext="java"><pre class="language-java"><code><span class="token class-name">ExecutionEnvironment</span> env <span class="token operator">=</span> <span class="token class-name">ExecutionEnvironment</span><span class="token punctuation">.</span><span class="token function">getExecutionEnvironment</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| env<span class="token punctuation">.</span><span class="token function">setParallelism</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| <span class="token class-name">List</span><span class="token generics"><span class="token punctuation"><</span><span class="token class-name">Tuple7</span><span class="token punctuation">></span></span> data <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ArrayList</span><span class="token generics"><span class="token punctuation"><</span><span class="token punctuation">></span></span><span class="token punctuation">(</span><span class="token number">7</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| data<span class="token punctuation">.</span><span class="token function">add</span><span class="token punctuation">(</span><span class="token keyword">new</span> <span class="token class-name">Tuple7</span><span class="token punctuation">(</span><span class="token number">1L</span><span class="token punctuation">,</span> <span class="token number">2L</span><span class="token punctuation">,</span> <span class="token number">3L</span><span class="token punctuation">,</span> <span class="token number">4L</span><span class="token punctuation">,</span> <span class="token number">5L</span><span class="token punctuation">,</span> <span class="token number">6L</span><span class="token punctuation">,</span> <span class="token number">7L</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| data<span class="token punctuation">.</span><span class="token function">add</span><span class="token punctuation">(</span><span class="token keyword">new</span> <span class="token class-name">Tuple7</span><span class="token punctuation">(</span><span class="token number">2L</span><span class="token punctuation">,</span> <span class="token number">3L</span><span class="token punctuation">,</span> <span class="token number">4L</span><span class="token punctuation">,</span> <span class="token number">5L</span><span class="token punctuation">,</span> <span class="token number">6L</span><span class="token punctuation">,</span> <span class="token number">7L</span><span class="token punctuation">,</span> <span class="token number">8L</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| data<span class="token punctuation">.</span><span class="token function">add</span><span class="token punctuation">(</span><span class="token keyword">new</span> <span class="token class-name">Tuple7</span><span class="token punctuation">(</span><span class="token number">3L</span><span class="token punctuation">,</span> <span class="token number">4L</span><span class="token punctuation">,</span> <span class="token number">5L</span><span class="token punctuation">,</span> <span class="token number">6L</span><span class="token punctuation">,</span> <span class="token number">7L</span><span class="token punctuation">,</span> <span class="token number">8L</span><span class="token punctuation">,</span> <span class="token number">9L</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| data<span class="token punctuation">.</span><span class="token function">add</span><span class="token punctuation">(</span><span class="token keyword">new</span> <span class="token class-name">Tuple7</span><span class="token punctuation">(</span><span class="token number">4L</span><span class="token punctuation">,</span> <span class="token number">5L</span><span class="token punctuation">,</span> <span class="token number">6L</span><span class="token punctuation">,</span> <span class="token number">7L</span><span class="token punctuation">,</span> <span class="token number">8L</span><span class="token punctuation">,</span> <span class="token number">9L</span><span class="token punctuation">,</span> <span class="token number">10L</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| data<span class="token punctuation">.</span><span class="token function">add</span><span class="token punctuation">(</span><span class="token keyword">new</span> <span class="token class-name">Tuple7</span><span class="token punctuation">(</span><span class="token number">6L</span><span class="token punctuation">,</span> <span class="token number">6L</span><span class="token punctuation">,</span> <span class="token number">7L</span><span class="token punctuation">,</span> <span class="token number">8L</span><span class="token punctuation">,</span> <span class="token number">9L</span><span class="token punctuation">,</span> <span class="token number">10L</span><span class="token punctuation">,</span> <span class="token number">11L</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| data<span class="token punctuation">.</span><span class="token function">add</span><span class="token punctuation">(</span><span class="token keyword">new</span> <span class="token class-name">Tuple7</span><span class="token punctuation">(</span><span class="token number">7L</span><span class="token punctuation">,</span> <span class="token number">7L</span><span class="token punctuation">,</span> <span class="token number">8L</span><span class="token punctuation">,</span> <span class="token number">9L</span><span class="token punctuation">,</span> <span class="token number">10L</span><span class="token punctuation">,</span> <span class="token number">11L</span><span class="token punctuation">,</span> <span class="token number">12L</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| data<span class="token punctuation">.</span><span class="token function">add</span><span class="token punctuation">(</span><span class="token keyword">new</span> <span class="token class-name">Tuple7</span><span class="token punctuation">(</span><span class="token number">8L</span><span class="token punctuation">,</span> <span class="token number">8L</span><span class="token punctuation">,</span> <span class="token number">9L</span><span class="token punctuation">,</span> <span class="token number">10L</span><span class="token punctuation">,</span> <span class="token number">11L</span><span class="token punctuation">,</span> <span class="token number">12L</span><span class="token punctuation">,</span> <span class="token number">13L</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| <span class="token class-name">DataSet</span><span class="token generics"><span class="token punctuation"><</span><span class="token class-name">Tuple7</span><span class="token punctuation">></span></span> source <span class="token operator">=</span> env<span class="token punctuation">.</span><span class="token function">fromCollection</span><span class="token punctuation">(</span> |
| data<span class="token punctuation">,</span> <span class="token class-name">Types</span><span class="token punctuation">.</span><span class="token function">TUPLE</span><span class="token punctuation">(</span><span class="token class-name">Types</span><span class="token punctuation">.</span><span class="token constant">LONG</span><span class="token punctuation">,</span> <span class="token class-name">Types</span><span class="token punctuation">.</span><span class="token constant">LONG</span><span class="token punctuation">,</span> <span class="token class-name">Types</span><span class="token punctuation">.</span><span class="token constant">LONG</span><span class="token punctuation">,</span> <span class="token class-name">Types</span><span class="token punctuation">.</span><span class="token constant">LONG</span><span class="token punctuation">,</span> <span class="token class-name">Types</span><span class="token punctuation">.</span><span class="token constant">LONG</span><span class="token punctuation">,</span> <span class="token class-name">Types</span><span class="token punctuation">.</span><span class="token constant">LONG</span><span class="token punctuation">,</span> <span class="token class-name">Types</span><span class="token punctuation">.</span><span class="token constant">LONG</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| source<span class="token punctuation">.</span><span class="token function">map</span><span class="token punctuation">(</span>t <span class="token operator">-></span> <span class="token punctuation">{</span> |
| <span class="token class-name">Row</span> row <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Row</span><span class="token punctuation">(</span><span class="token number">7</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| <span class="token keyword">for</span> <span class="token punctuation">(</span><span class="token keyword">int</span> i <span class="token operator">=</span> <span class="token number">0</span><span class="token punctuation">;</span> i <span class="token operator"><</span> <span class="token number">7</span><span class="token punctuation">;</span> i<span class="token operator">++</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> |
| row<span class="token punctuation">.</span><span class="token function">setField</span><span class="token punctuation">(</span>i<span class="token punctuation">,</span> t<span class="token punctuation">.</span><span class="token function">getField</span><span class="token punctuation">(</span>i<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| <span class="token punctuation">}</span> |
| <span class="token keyword">return</span> row<span class="token punctuation">;</span> |
| <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">returns</span><span class="token punctuation">(</span>rowTypeInfo<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">write</span><span class="token punctuation">(</span>outputFormat<span class="token punctuation">,</span> path<span class="token punctuation">)</span><span class="token punctuation">;</span> |
| env<span class="token punctuation">.</span><span class="token function">execute</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| </code></pre><div class="line-numbers" aria-hidden="true"><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);function c(u,l){return s(),a("div",null,[t(` |
| |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| |
| `),o])}const k=n(e,[["render",c],["__file","Flink-TsFile.html.vue"]]);export{k as default}; |