blob: 1d71f0b8d3057734dcfe2c8a6b70129a3c11cfe3 [file] [log] [blame]
import{_ as n,o as s,c as a,e as t}from"./app-Bx8hKGcu.js";const p={},e=t(`<h2 id="tsfile-flink-连接器" tabindex="-1"><a class="header-anchor" href="#tsfile-flink-连接器"><span>TsFile-Flink 连接器</span></a></h2><h3 id="关于-tsfile-flink-连接器" tabindex="-1"><a class="header-anchor" href="#关于-tsfile-flink-连接器"><span>关于 TsFile-Flink 连接器</span></a></h3><p>TsFile-Flink-Connector Tsfile 类型的外部数据源实现 Flink 的支持。 这使用户可以通过 Flink DataStream/DataSet 进行读取,写入和查询。</p><p>使用此连接器,您可以</p><ul><li>从本地文件系统或 hdfs 加载单个或多个 TsFile (只支持以 DataSet 的形式)到 Flink 。</li><li>将本地文件系统或 hdfs 中特定目录中的所有文件加载到 Flink 中。</li></ul><h3 id="快速开始" tabindex="-1"><a class="header-anchor" href="#快速开始"><span>快速开始</span></a></h3><h4 id="tsfileinputformat-示例" tabindex="-1"><a class="header-anchor" href="#tsfileinputformat-示例"><span>TsFileInputFormat 示例</span></a></h4><ol><li>使用默认的 RowRowRecordParser 创建 TsFileInputFormat 。</li></ol><div class="language-java line-numbers-mode" data-ext="java" data-title="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">&quot;device_1.sensor_1&quot;</span><span class="token punctuation">,</span>
<span class="token string">&quot;device_1.sensor_2&quot;</span><span class="token punctuation">,</span>
<span class="token string">&quot;device_1.sensor_3&quot;</span><span class="token punctuation">,</span>
<span class="token string">&quot;device_2.sensor_1&quot;</span><span class="token punctuation">,</span>
<span class="token string">&quot;device_2.sensor_2&quot;</span><span class="token punctuation">,</span>
<span class="token string">&quot;device_2.sensor_3&quot;</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">&lt;</span><span class="token class-name">Path</span><span class="token punctuation">&gt;</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">-&gt;</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">&lt;</span><span class="token punctuation">&gt;</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>从输入格式读取数据并打印到标准输出 stdout:</li></ol><p>DataStream:</p><div class="language-java line-numbers-mode" data-ext="java" data-title="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">&quot;source.tsfile&quot;</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">&lt;</span><span class="token class-name">Row</span><span class="token punctuation">&gt;</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">&lt;</span><span class="token class-name">String</span><span class="token punctuation">&gt;</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">&lt;</span><span class="token class-name">String</span><span class="token punctuation">&gt;</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" data-title="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">&quot;source.tsfile&quot;</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">&lt;</span><span class="token class-name">Row</span><span class="token punctuation">&gt;</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">&lt;</span><span class="token class-name">String</span><span class="token punctuation">&gt;</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="tsrecordoutputformat-示例" tabindex="-1"><a class="header-anchor" href="#tsrecordoutputformat-示例"><span>TSRecordOutputFormat 示例</span></a></h4><ol><li>使用默认的 RowTSRecordConverter 创建 TSRecordOutputFormat 。</li></ol><div class="language-java line-numbers-mode" data-ext="java" data-title="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">&quot;device_1.sensor_1&quot;</span><span class="token punctuation">,</span>
<span class="token string">&quot;device_1.sensor_2&quot;</span><span class="token punctuation">,</span>
<span class="token string">&quot;device_1.sensor_3&quot;</span><span class="token punctuation">,</span>
<span class="token string">&quot;device_2.sensor_1&quot;</span><span class="token punctuation">,</span>
<span class="token string">&quot;device_2.sensor_2&quot;</span><span class="token punctuation">,</span>
<span class="token string">&quot;device_2.sensor_3&quot;</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">&quot;template&quot;</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">&quot;sensor_1&quot;</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">&quot;template&quot;</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">&quot;sensor_2&quot;</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">&quot;template&quot;</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">&quot;sensor_3&quot;</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">&lt;</span><span class="token class-name">Row</span><span class="token punctuation">&gt;</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">&lt;</span><span class="token punctuation">&gt;</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>通过输出格式写数据:</li></ol><p>DataStream:</p><div class="language-java line-numbers-mode" data-ext="java" data-title="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">&lt;</span><span class="token class-name">Tuple7</span><span class="token punctuation">&gt;</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">&lt;</span><span class="token punctuation">&gt;</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">&lt;</span><span class="token class-name">Tuple7</span><span class="token punctuation">&gt;</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">-&gt;</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">&lt;</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" data-title="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">&lt;</span><span class="token class-name">Tuple7</span><span class="token punctuation">&gt;</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">&lt;</span><span class="token punctuation">&gt;</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">&lt;</span><span class="token class-name">Tuple7</span><span class="token punctuation">&gt;</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">-&gt;</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">&lt;</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),o=[e];function c(l,u){return s(),a("div",null,o)}const k=n(p,[["render",c],["__file","Flink-TsFile.html.vue"]]),r=JSON.parse('{"path":"/zh/UserGuide/V1.1.x/Ecosystem-Integration/Flink-TsFile.html","title":"","lang":"zh-CN","frontmatter":{"description":"TsFile-Flink 连接器 关于 TsFile-Flink 连接器 TsFile-Flink-Connector 对 Tsfile 类型的外部数据源实现 Flink 的支持。 这使用户可以通过 Flink DataStream/DataSet 进行读取,写入和查询。 使用此连接器,您可以 从本地文件系统或 hdfs 加载单个或多个 TsFile ...","head":[["link",{"rel":"alternate","hreflang":"en-us","href":"https://iotdb.apache.org/UserGuide/V1.1.x/Ecosystem-Integration/Flink-TsFile.html"}],["meta",{"property":"og:url","content":"https://iotdb.apache.org/zh/UserGuide/V1.1.x/Ecosystem-Integration/Flink-TsFile.html"}],["meta",{"property":"og:site_name","content":"IoTDB Website"}],["meta",{"property":"og:description","content":"TsFile-Flink 连接器 关于 TsFile-Flink 连接器 TsFile-Flink-Connector 对 Tsfile 类型的外部数据源实现 Flink 的支持。 这使用户可以通过 Flink DataStream/DataSet 进行读取,写入和查询。 使用此连接器,您可以 从本地文件系统或 hdfs 加载单个或多个 TsFile ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:locale:alternate","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2023-07-10T03:11:17.000Z"}],["meta",{"property":"article:modified_time","content":"2023-07-10T03:11:17.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-07-10T03:11:17.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"TsFile-Flink 连接器","slug":"tsfile-flink-连接器","link":"#tsfile-flink-连接器","children":[{"level":3,"title":"关于 TsFile-Flink 连接器","slug":"关于-tsfile-flink-连接器","link":"#关于-tsfile-flink-连接器","children":[]},{"level":3,"title":"快速开始","slug":"快速开始","link":"#快速开始","children":[]}]}],"git":{"createdTime":1688958677000,"updatedTime":1688958677000,"contributors":[{"name":"CritasWang","email":"critas@outlook.com","commits":1}]},"readingTime":{"minutes":2.35,"words":704},"filePathRelative":"zh/UserGuide/V1.1.x/Ecosystem-Integration/Flink-TsFile.md","localizedDate":"2023年7月10日","autoDesc":true}');export{k as comp,r as data};