| import{_ as t,C as o,O as l,P as c,ah as r,Q as s,U as a,ai as p,aW as n}from"./framework-e4340ccd.js";const i={},u=s("h2",{id:"导入导出-csv",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#导入导出-csv","aria-hidden":"true"},"#"),a(" 导入导出 CSV")],-1),k=s("p",null,"CSV 工具可帮您将 CSV 格式的数据导入到 IoTDB 或者将数据从 IoTDB 导出到 CSV 文件。",-1),d={id:"使用-export-csv-sh",tabindex:"-1"},m=s("a",{class:"header-anchor",href:"#使用-export-csv-sh","aria-hidden":"true"},"#",-1),b={href:"http://export-csv.sh",target:"_blank",rel:"noopener noreferrer"},v=n(`<h4 id="运行方法" tabindex="-1"><a class="header-anchor" href="#运行方法" aria-hidden="true">#</a> 运行方法</h4><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code><span class="token comment"># Unix/OS X</span> |
| <span class="token operator">></span> tools/export-csv.sh <span class="token parameter variable">-h</span> <span class="token operator"><</span>ip<span class="token operator">></span> <span class="token parameter variable">-p</span> <span class="token operator"><</span>port<span class="token operator">></span> <span class="token parameter variable">-u</span> <span class="token operator"><</span>username<span class="token operator">></span> <span class="token parameter variable">-pw</span> <span class="token operator"><</span>password<span class="token operator">></span> <span class="token parameter variable">-td</span> <span class="token operator"><</span>directory<span class="token operator">></span> <span class="token punctuation">[</span>-tf <span class="token operator"><</span>time-format<span class="token operator">></span> <span class="token parameter variable">-datatype</span> <span class="token operator"><</span>true/false<span class="token operator">></span> <span class="token parameter variable">-q</span> <span class="token operator"><</span>query command<span class="token operator">></span> <span class="token parameter variable">-s</span> <span class="token operator"><</span>sql file<span class="token operator">></span><span class="token punctuation">]</span> |
| |
| <span class="token comment"># Windows</span> |
| <span class="token operator">></span> tools<span class="token punctuation">\\</span>export-csv.bat <span class="token parameter variable">-h</span> <span class="token operator"><</span>ip<span class="token operator">></span> <span class="token parameter variable">-p</span> <span class="token operator"><</span>port<span class="token operator">></span> <span class="token parameter variable">-u</span> <span class="token operator"><</span>username<span class="token operator">></span> <span class="token parameter variable">-pw</span> <span class="token operator"><</span>password<span class="token operator">></span> <span class="token parameter variable">-td</span> <span class="token operator"><</span>directory<span class="token operator">></span> <span class="token punctuation">[</span>-tf <span class="token operator"><</span>time-format<span class="token operator">></span> <span class="token parameter variable">-datatype</span> <span class="token operator"><</span>true/false<span class="token operator">></span> <span class="token parameter variable">-q</span> <span class="token operator"><</span>query command<span class="token operator">></span> <span class="token parameter variable">-s</span> <span class="token operator"><</span>sql file<span class="token operator">></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></div><p>参数:</p>`,3),h=n("<li><code>-datatype</code>: <ul><li>true (默认): 在CSV文件的header中时间序列的后面打印出对应的数据类型。例如:<code>Time, root.sg1.d1.s1(INT32), root.sg1.d1.s2(INT64)</code>.</li><li>false: 只在CSV的header中打印出时间序列的名字, <code>Time, root.sg1.d1.s1 , root.sg1.d1.s2</code></li></ul></li><li><code>-q <query command></code>: <ul><li>在命令中直接指定想要执行的查询语句。</li><li>例如: <code>select * from root limit 100</code>, or <code>select * from root limit 100 align by device</code></li></ul></li><li><code>-s <sql file></code>: <ul><li>指定一个SQL文件,里面包含一条或多条SQL语句。如果一个SQL文件中包含多条SQL语句,SQL语句之间应该用换行符进行分割。每一条SQL语句对应一个输出的CSV文件。</li></ul></li><li><code>-td <directory></code>: <ul><li>为导出的CSV文件指定输出路径。</li></ul></li>",4),g=s("code",null,"-tf <time-format>",-1),w={href:"https://calendars.wikia.org/wiki/ISO_8601",target:"_blank",rel:"noopener noreferrer"},f=s("code",null,"-tf timestamp",-1),T=s("li",null,[a("例如: "),s("code",null,"-tf yyyy-MM-dd\\ HH:mm:ss"),a(" or "),s("code",null,"-tf timestamp")],-1),y=n(`<p>除此之外,如果你没有使用<code>-s</code>和<code>-q</code>参数,在导出脚本被启动之后你需要按照程序提示输入查询语句,不同的查询结果会被保存到不同的CSV文件中。</p><h4 id="运行示例" tabindex="-1"><a class="header-anchor" href="#运行示例" aria-hidden="true">#</a> 运行示例</h4><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code><span class="token comment"># Unix/OS X</span> |
| <span class="token operator">></span> tools/export-csv.sh <span class="token parameter variable">-h</span> <span class="token number">127.0</span>.0.1 <span class="token parameter variable">-p</span> <span class="token number">6667</span> <span class="token parameter variable">-u</span> root <span class="token parameter variable">-pw</span> root <span class="token parameter variable">-td</span> ./ |
| <span class="token comment"># Or</span> |
| <span class="token operator">></span> tools/export-csv.sh <span class="token parameter variable">-h</span> <span class="token number">127.0</span>.0.1 <span class="token parameter variable">-p</span> <span class="token number">6667</span> <span class="token parameter variable">-u</span> root <span class="token parameter variable">-pw</span> root <span class="token parameter variable">-td</span> ./ <span class="token parameter variable">-tf</span> yyyy-MM-dd<span class="token punctuation">\\</span> HH:mm:ss |
| <span class="token comment"># or</span> |
| <span class="token operator">></span> tools/export-csv.sh <span class="token parameter variable">-h</span> <span class="token number">127.0</span>.0.1 <span class="token parameter variable">-p</span> <span class="token number">6667</span> <span class="token parameter variable">-u</span> root <span class="token parameter variable">-pw</span> root <span class="token parameter variable">-td</span> ./ <span class="token parameter variable">-q</span> <span class="token string">"select * from root"</span> |
| <span class="token comment"># Or</span> |
| <span class="token operator">></span> tools/export-csv.sh <span class="token parameter variable">-h</span> <span class="token number">127.0</span>.0.1 <span class="token parameter variable">-p</span> <span class="token number">6667</span> <span class="token parameter variable">-u</span> root <span class="token parameter variable">-pw</span> root <span class="token parameter variable">-td</span> ./ <span class="token parameter variable">-s</span> sql.txt |
| <span class="token comment"># Or</span> |
| <span class="token operator">></span> tools/export-csv.sh <span class="token parameter variable">-h</span> <span class="token number">127.0</span>.0.1 <span class="token parameter variable">-p</span> <span class="token number">6667</span> <span class="token parameter variable">-u</span> root <span class="token parameter variable">-pw</span> root <span class="token parameter variable">-td</span> ./ <span class="token parameter variable">-tf</span> yyyy-MM-dd<span class="token punctuation">\\</span> HH:mm:ss <span class="token parameter variable">-s</span> sql.txt |
| |
| <span class="token comment"># Windows</span> |
| <span class="token operator">></span> tools/export-csv.bat <span class="token parameter variable">-h</span> <span class="token number">127.0</span>.0.1 <span class="token parameter variable">-p</span> <span class="token number">6667</span> <span class="token parameter variable">-u</span> root <span class="token parameter variable">-pw</span> root <span class="token parameter variable">-td</span> ./ |
| <span class="token comment"># Or</span> |
| <span class="token operator">></span> tools/export-csv.bat <span class="token parameter variable">-h</span> <span class="token number">127.0</span>.0.1 <span class="token parameter variable">-p</span> <span class="token number">6667</span> <span class="token parameter variable">-u</span> root <span class="token parameter variable">-pw</span> root <span class="token parameter variable">-td</span> ./ <span class="token parameter variable">-tf</span> yyyy-MM-dd<span class="token punctuation">\\</span> HH:mm:ss |
| <span class="token comment"># or</span> |
| <span class="token operator">></span> tools/export-csv.bat <span class="token parameter variable">-h</span> <span class="token number">127.0</span>.0.1 <span class="token parameter variable">-p</span> <span class="token number">6667</span> <span class="token parameter variable">-u</span> root <span class="token parameter variable">-pw</span> root <span class="token parameter variable">-td</span> ./ <span class="token parameter variable">-q</span> <span class="token string">"select * from root"</span> |
| <span class="token comment"># Or</span> |
| <span class="token operator">></span> tools/export-csv.bat <span class="token parameter variable">-h</span> <span class="token number">127.0</span>.0.1 <span class="token parameter variable">-p</span> <span class="token number">6667</span> <span class="token parameter variable">-u</span> root <span class="token parameter variable">-pw</span> root <span class="token parameter variable">-td</span> ./ <span class="token parameter variable">-s</span> sql.txt |
| <span class="token comment"># Or</span> |
| <span class="token operator">></span> tools/export-csv.bat <span class="token parameter variable">-h</span> <span class="token number">127.0</span>.0.1 <span class="token parameter variable">-p</span> <span class="token number">6667</span> <span class="token parameter variable">-u</span> root <span class="token parameter variable">-pw</span> root <span class="token parameter variable">-td</span> ./ <span class="token parameter variable">-tf</span> yyyy-MM-dd<span class="token punctuation">\\</span> HH:mm:ss <span class="token parameter variable">-s</span> sql.txt |
| </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><h4 id="sql-文件示例" tabindex="-1"><a class="header-anchor" href="#sql-文件示例" aria-hidden="true">#</a> SQL 文件示例</h4><div class="language-sql line-numbers-mode" data-ext="sql"><pre class="language-sql"><code><span class="token keyword">select</span> <span class="token operator">*</span> <span class="token keyword">from</span> root<span class="token punctuation">;</span> |
| <span class="token keyword">select</span> <span class="token operator">*</span> <span class="token keyword">from</span> root align <span class="token keyword">by</span> device<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></div><p><code>select * from root</code>的执行结果:</p><div class="language-sql line-numbers-mode" data-ext="sql"><pre class="language-sql"><code><span class="token keyword">Time</span><span class="token punctuation">,</span>root<span class="token punctuation">.</span>ln<span class="token punctuation">.</span>wf04<span class="token punctuation">.</span>wt04<span class="token punctuation">.</span><span class="token keyword">status</span><span class="token punctuation">(</span><span class="token keyword">BOOLEAN</span><span class="token punctuation">)</span><span class="token punctuation">,</span>root<span class="token punctuation">.</span>ln<span class="token punctuation">.</span>wf03<span class="token punctuation">.</span>wt03<span class="token punctuation">.</span>hardware<span class="token punctuation">(</span><span class="token keyword">TEXT</span><span class="token punctuation">)</span><span class="token punctuation">,</span>root<span class="token punctuation">.</span>ln<span class="token punctuation">.</span>wf02<span class="token punctuation">.</span>wt02<span class="token punctuation">.</span><span class="token keyword">status</span><span class="token punctuation">(</span><span class="token keyword">BOOLEAN</span><span class="token punctuation">)</span><span class="token punctuation">,</span>root<span class="token punctuation">.</span>ln<span class="token punctuation">.</span>wf02<span class="token punctuation">.</span>wt02<span class="token punctuation">.</span>hardware<span class="token punctuation">(</span><span class="token keyword">TEXT</span><span class="token punctuation">)</span><span class="token punctuation">,</span>root<span class="token punctuation">.</span>ln<span class="token punctuation">.</span>wf01<span class="token punctuation">.</span>wt01<span class="token punctuation">.</span>hardware<span class="token punctuation">(</span><span class="token keyword">TEXT</span><span class="token punctuation">)</span><span class="token punctuation">,</span>root<span class="token punctuation">.</span>ln<span class="token punctuation">.</span>wf01<span class="token punctuation">.</span>wt01<span class="token punctuation">.</span><span class="token keyword">status</span><span class="token punctuation">(</span><span class="token keyword">BOOLEAN</span><span class="token punctuation">)</span> |
| <span class="token number">1970</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">01</span>T08:<span class="token number">00</span>:<span class="token number">00.001</span><span class="token operator">+</span><span class="token number">08</span>:<span class="token number">00</span><span class="token punctuation">,</span><span class="token boolean">true</span><span class="token punctuation">,</span><span class="token string">"v1"</span><span class="token punctuation">,</span><span class="token boolean">true</span><span class="token punctuation">,</span><span class="token string">"v1"</span><span class="token punctuation">,</span>v1<span class="token punctuation">,</span><span class="token boolean">true</span> |
| <span class="token number">1970</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">01</span>T08:<span class="token number">00</span>:<span class="token number">00.002</span><span class="token operator">+</span><span class="token number">08</span>:<span class="token number">00</span><span class="token punctuation">,</span><span class="token boolean">true</span><span class="token punctuation">,</span><span class="token string">"v1"</span><span class="token punctuation">,</span><span class="token punctuation">,</span><span class="token punctuation">,</span><span class="token punctuation">,</span><span class="token boolean">true</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></div><p><code>select * from root align by device</code>的执行结果:</p><div class="language-sql line-numbers-mode" data-ext="sql"><pre class="language-sql"><code><span class="token keyword">Time</span><span class="token punctuation">,</span>Device<span class="token punctuation">,</span>hardware<span class="token punctuation">(</span><span class="token keyword">TEXT</span><span class="token punctuation">)</span><span class="token punctuation">,</span><span class="token keyword">status</span><span class="token punctuation">(</span><span class="token keyword">BOOLEAN</span><span class="token punctuation">)</span> |
| <span class="token number">1970</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">01</span>T08:<span class="token number">00</span>:<span class="token number">00.001</span><span class="token operator">+</span><span class="token number">08</span>:<span class="token number">00</span><span class="token punctuation">,</span>root<span class="token punctuation">.</span>ln<span class="token punctuation">.</span>wf01<span class="token punctuation">.</span>wt01<span class="token punctuation">,</span><span class="token string">"v1"</span><span class="token punctuation">,</span><span class="token boolean">true</span> |
| <span class="token number">1970</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">01</span>T08:<span class="token number">00</span>:<span class="token number">00.002</span><span class="token operator">+</span><span class="token number">08</span>:<span class="token number">00</span><span class="token punctuation">,</span>root<span class="token punctuation">.</span>ln<span class="token punctuation">.</span>wf01<span class="token punctuation">.</span>wt01<span class="token punctuation">,</span><span class="token punctuation">,</span><span class="token boolean">true</span> |
| <span class="token number">1970</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">01</span>T08:<span class="token number">00</span>:<span class="token number">00.001</span><span class="token operator">+</span><span class="token number">08</span>:<span class="token number">00</span><span class="token punctuation">,</span>root<span class="token punctuation">.</span>ln<span class="token punctuation">.</span>wf02<span class="token punctuation">.</span>wt02<span class="token punctuation">,</span><span class="token string">"v1"</span><span class="token punctuation">,</span><span class="token boolean">true</span> |
| <span class="token number">1970</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">01</span>T08:<span class="token number">00</span>:<span class="token number">00.001</span><span class="token operator">+</span><span class="token number">08</span>:<span class="token number">00</span><span class="token punctuation">,</span>root<span class="token punctuation">.</span>ln<span class="token punctuation">.</span>wf03<span class="token punctuation">.</span>wt03<span class="token punctuation">,</span><span class="token string">"v1"</span><span class="token punctuation">,</span> |
| <span class="token number">1970</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">01</span>T08:<span class="token number">00</span>:<span class="token number">00.002</span><span class="token operator">+</span><span class="token number">08</span>:<span class="token number">00</span><span class="token punctuation">,</span>root<span class="token punctuation">.</span>ln<span class="token punctuation">.</span>wf03<span class="token punctuation">.</span>wt03<span class="token punctuation">,</span><span class="token string">"v1"</span><span class="token punctuation">,</span> |
| <span class="token number">1970</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">01</span>T08:<span class="token number">00</span>:<span class="token number">00.001</span><span class="token operator">+</span><span class="token number">08</span>:<span class="token number">00</span><span class="token punctuation">,</span>root<span class="token punctuation">.</span>ln<span class="token punctuation">.</span>wf04<span class="token punctuation">.</span>wt04<span class="token punctuation">,</span><span class="token punctuation">,</span><span class="token boolean">true</span> |
| <span class="token number">1970</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">01</span>T08:<span class="token number">00</span>:<span class="token number">00.002</span><span class="token operator">+</span><span class="token number">08</span>:<span class="token number">00</span><span class="token punctuation">,</span>root<span class="token punctuation">.</span>ln<span class="token punctuation">.</span>wf04<span class="token punctuation">.</span>wt04<span class="token punctuation">,</span><span class="token punctuation">,</span><span class="token boolean">true</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>布尔类型的数据用<code>true</code>或者<code>false</code>来表示,此处没有用双引号括起来。文本数据需要使用双引号括起来。</p><h4 id="注意" tabindex="-1"><a class="header-anchor" href="#注意" aria-hidden="true">#</a> 注意</h4><p>注意,如果导出字段存在如下特殊字符:</p><ol><li><code>,</code>: 导出程序会在<code>,</code>字符前加<code>\\</code>来进行转义。</li></ol>`,13),q={id:"使用import-csv-sh",tabindex:"-1"},x=s("a",{class:"header-anchor",href:"#使用import-csv-sh","aria-hidden":"true"},"#",-1),E={href:"http://xn--import-csv-2u5pm927a.sh",target:"_blank",rel:"noopener noreferrer"},S=n(`<h4 id="创建元数据-可选" tabindex="-1"><a class="header-anchor" href="#创建元数据-可选" aria-hidden="true">#</a> 创建元数据 (可选)</h4><div class="language-sql line-numbers-mode" data-ext="sql"><pre class="language-sql"><code><span class="token keyword">SET</span> STORAGE <span class="token keyword">GROUP</span> <span class="token keyword">TO</span> root<span class="token punctuation">.</span>fit<span class="token punctuation">.</span>d1<span class="token punctuation">;</span> |
| <span class="token keyword">SET</span> STORAGE <span class="token keyword">GROUP</span> <span class="token keyword">TO</span> root<span class="token punctuation">.</span>fit<span class="token punctuation">.</span>d2<span class="token punctuation">;</span> |
| <span class="token keyword">SET</span> STORAGE <span class="token keyword">GROUP</span> <span class="token keyword">TO</span> root<span class="token punctuation">.</span>fit<span class="token punctuation">.</span>p<span class="token punctuation">;</span> |
| <span class="token keyword">CREATE</span> TIMESERIES root<span class="token punctuation">.</span>fit<span class="token punctuation">.</span>d1<span class="token punctuation">.</span>s1 <span class="token keyword">WITH</span> DATATYPE<span class="token operator">=</span>INT32<span class="token punctuation">,</span>ENCODING<span class="token operator">=</span>RLE<span class="token punctuation">;</span> |
| <span class="token keyword">CREATE</span> TIMESERIES root<span class="token punctuation">.</span>fit<span class="token punctuation">.</span>d1<span class="token punctuation">.</span>s2 <span class="token keyword">WITH</span> DATATYPE<span class="token operator">=</span><span class="token keyword">TEXT</span><span class="token punctuation">,</span>ENCODING<span class="token operator">=</span>PLAIN<span class="token punctuation">;</span> |
| <span class="token keyword">CREATE</span> TIMESERIES root<span class="token punctuation">.</span>fit<span class="token punctuation">.</span>d2<span class="token punctuation">.</span>s1 <span class="token keyword">WITH</span> DATATYPE<span class="token operator">=</span>INT32<span class="token punctuation">,</span>ENCODING<span class="token operator">=</span>RLE<span class="token punctuation">;</span> |
| <span class="token keyword">CREATE</span> TIMESERIES root<span class="token punctuation">.</span>fit<span class="token punctuation">.</span>d2<span class="token punctuation">.</span>s3 <span class="token keyword">WITH</span> DATATYPE<span class="token operator">=</span>INT32<span class="token punctuation">,</span>ENCODING<span class="token operator">=</span>RLE<span class="token punctuation">;</span> |
| <span class="token keyword">CREATE</span> TIMESERIES root<span class="token punctuation">.</span>fit<span class="token punctuation">.</span>p<span class="token punctuation">.</span>s1 <span class="token keyword">WITH</span> DATATYPE<span class="token operator">=</span>INT32<span class="token punctuation">,</span>ENCODING<span class="token operator">=</span>RLE<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>IoTDB 具有类型推断的能力,因此在数据导入前创建元数据不是必须的。但我们仍然推荐在使用 CSV 导入工具导入数据前创建元数据,因为这可以避免不必要的类型转换错误。</p><h4 id="待导入-csv-文件示例" tabindex="-1"><a class="header-anchor" href="#待导入-csv-文件示例" aria-hidden="true">#</a> 待导入 CSV 文件示例</h4><p>通过时间对齐,并且header中不包含数据类型的数据。</p><div class="language-sql line-numbers-mode" data-ext="sql"><pre class="language-sql"><code><span class="token keyword">Time</span><span class="token punctuation">,</span>root<span class="token punctuation">.</span>test<span class="token punctuation">.</span>t1<span class="token punctuation">.</span>str<span class="token punctuation">,</span>root<span class="token punctuation">.</span>test<span class="token punctuation">.</span>t2<span class="token punctuation">.</span>str<span class="token punctuation">,</span>root<span class="token punctuation">.</span>test<span class="token punctuation">.</span>t2<span class="token punctuation">.</span><span class="token keyword">int</span> |
| <span class="token number">1970</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">01</span>T08:<span class="token number">00</span>:<span class="token number">00.001</span><span class="token operator">+</span><span class="token number">08</span>:<span class="token number">00</span><span class="token punctuation">,</span><span class="token string">"123hello world"</span><span class="token punctuation">,</span><span class="token string">"123\\,abc"</span><span class="token punctuation">,</span><span class="token number">100</span> |
| <span class="token number">1970</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">01</span>T08:<span class="token number">00</span>:<span class="token number">00.002</span><span class="token operator">+</span><span class="token number">08</span>:<span class="token number">00</span><span class="token punctuation">,</span><span class="token string">"123"</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></div><p>通过时间对齐,并且header中包含数据类型的数据。(Text类型数据支持加双引号和不加双引号)</p><div class="language-sql line-numbers-mode" data-ext="sql"><pre class="language-sql"><code><span class="token keyword">Time</span><span class="token punctuation">,</span>root<span class="token punctuation">.</span>test<span class="token punctuation">.</span>t1<span class="token punctuation">.</span>str<span class="token punctuation">(</span><span class="token keyword">TEXT</span><span class="token punctuation">)</span><span class="token punctuation">,</span>root<span class="token punctuation">.</span>test<span class="token punctuation">.</span>t2<span class="token punctuation">.</span>str<span class="token punctuation">(</span><span class="token keyword">TEXT</span><span class="token punctuation">)</span><span class="token punctuation">,</span>root<span class="token punctuation">.</span>test<span class="token punctuation">.</span>t2<span class="token punctuation">.</span><span class="token keyword">int</span><span class="token punctuation">(</span>INT32<span class="token punctuation">)</span> |
| <span class="token number">1970</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">01</span>T08:<span class="token number">00</span>:<span class="token number">00.001</span><span class="token operator">+</span><span class="token number">08</span>:<span class="token number">00</span><span class="token punctuation">,</span><span class="token string">"123hello world"</span><span class="token punctuation">,</span><span class="token string">"123\\,abc"</span><span class="token punctuation">,</span><span class="token number">100</span> |
| <span class="token number">1970</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">01</span>T08:<span class="token number">00</span>:<span class="token number">00.002</span><span class="token operator">+</span><span class="token number">08</span>:<span class="token number">00</span><span class="token punctuation">,</span><span class="token number">123</span><span class="token punctuation">,</span>hello world<span class="token punctuation">,</span><span class="token number">123</span> |
| <span class="token number">1970</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">01</span>T08:<span class="token number">00</span>:<span class="token number">00.003</span><span class="token operator">+</span><span class="token number">08</span>:<span class="token number">00</span><span class="token punctuation">,</span><span class="token string">"123"</span><span class="token punctuation">,</span><span class="token punctuation">,</span> |
| <span class="token number">1970</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">01</span>T08:<span class="token number">00</span>:<span class="token number">00.004</span><span class="token operator">+</span><span class="token number">08</span>:<span class="token number">00</span><span class="token punctuation">,</span><span class="token number">123</span><span class="token punctuation">,</span><span class="token punctuation">,</span><span class="token number">12</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></div><p>通过设备对齐,并且header中不包含数据类型的数据。</p><div class="language-sql line-numbers-mode" data-ext="sql"><pre class="language-sql"><code><span class="token keyword">Time</span><span class="token punctuation">,</span>Device<span class="token punctuation">,</span>str<span class="token punctuation">,</span><span class="token keyword">int</span> |
| <span class="token number">1970</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">01</span>T08:<span class="token number">00</span>:<span class="token number">00.001</span><span class="token operator">+</span><span class="token number">08</span>:<span class="token number">00</span><span class="token punctuation">,</span>root<span class="token punctuation">.</span>test<span class="token punctuation">.</span>t1<span class="token punctuation">,</span><span class="token string">"123hello world"</span><span class="token punctuation">,</span> |
| <span class="token number">1970</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">01</span>T08:<span class="token number">00</span>:<span class="token number">00.002</span><span class="token operator">+</span><span class="token number">08</span>:<span class="token number">00</span><span class="token punctuation">,</span>root<span class="token punctuation">.</span>test<span class="token punctuation">.</span>t1<span class="token punctuation">,</span><span class="token string">"123"</span><span class="token punctuation">,</span> |
| <span class="token number">1970</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">01</span>T08:<span class="token number">00</span>:<span class="token number">00.001</span><span class="token operator">+</span><span class="token number">08</span>:<span class="token number">00</span><span class="token punctuation">,</span>root<span class="token punctuation">.</span>test<span class="token punctuation">.</span>t2<span class="token punctuation">,</span><span class="token string">"123\\,abc"</span><span class="token punctuation">,</span><span class="token number">100</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></div><p>通过时间对齐,并且header中包含数据类型的数据。(Text类型数据支持加双引号和不加双引号)</p><div class="language-sql line-numbers-mode" data-ext="sql"><pre class="language-sql"><code><span class="token keyword">Time</span><span class="token punctuation">,</span>Device<span class="token punctuation">,</span>str<span class="token punctuation">(</span><span class="token keyword">TEXT</span><span class="token punctuation">)</span><span class="token punctuation">,</span><span class="token keyword">int</span><span class="token punctuation">(</span>INT32<span class="token punctuation">)</span> |
| <span class="token number">1970</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">01</span>T08:<span class="token number">00</span>:<span class="token number">00.001</span><span class="token operator">+</span><span class="token number">08</span>:<span class="token number">00</span><span class="token punctuation">,</span>root<span class="token punctuation">.</span>test<span class="token punctuation">.</span>t1<span class="token punctuation">,</span><span class="token string">"123hello world"</span><span class="token punctuation">,</span> |
| <span class="token number">1970</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">01</span>T08:<span class="token number">00</span>:<span class="token number">00.002</span><span class="token operator">+</span><span class="token number">08</span>:<span class="token number">00</span><span class="token punctuation">,</span>root<span class="token punctuation">.</span>test<span class="token punctuation">.</span>t1<span class="token punctuation">,</span><span class="token string">"123"</span><span class="token punctuation">,</span> |
| <span class="token number">1970</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">01</span>T08:<span class="token number">00</span>:<span class="token number">00.001</span><span class="token operator">+</span><span class="token number">08</span>:<span class="token number">00</span><span class="token punctuation">,</span>root<span class="token punctuation">.</span>test<span class="token punctuation">.</span>t2<span class="token punctuation">,</span><span class="token string">"123\\,abc"</span><span class="token punctuation">,</span><span class="token number">100</span> |
| <span class="token number">1970</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">01</span>T08:<span class="token number">00</span>:<span class="token number">00.002</span><span class="token operator">+</span><span class="token number">08</span>:<span class="token number">00</span><span class="token punctuation">,</span>root<span class="token punctuation">.</span>test<span class="token punctuation">.</span>t1<span class="token punctuation">,</span>hello world<span class="token punctuation">,</span><span class="token number">123</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></div><h4 id="运行方法-1" tabindex="-1"><a class="header-anchor" href="#运行方法-1" aria-hidden="true">#</a> 运行方法</h4><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code><span class="token comment"># Unix/OS X</span> |
| <span class="token operator">></span>tools/import-csv.sh <span class="token parameter variable">-h</span> <span class="token operator"><</span>ip<span class="token operator">></span> <span class="token parameter variable">-p</span> <span class="token operator"><</span>port<span class="token operator">></span> <span class="token parameter variable">-u</span> <span class="token operator"><</span>username<span class="token operator">></span> <span class="token parameter variable">-pw</span> <span class="token operator"><</span>password<span class="token operator">></span> <span class="token parameter variable">-f</span> <span class="token operator"><</span>xxx.csv<span class="token operator">></span> <span class="token punctuation">[</span>-fd <span class="token operator"><</span>./failedDirectory<span class="token operator">></span><span class="token punctuation">]</span> <span class="token punctuation">[</span>-aligned <span class="token operator"><</span>true<span class="token operator">></span><span class="token punctuation">]</span> |
| <span class="token comment"># Windows</span> |
| <span class="token operator">></span>tools<span class="token punctuation">\\</span>import-csv.bat <span class="token parameter variable">-h</span> <span class="token operator"><</span>ip<span class="token operator">></span> <span class="token parameter variable">-p</span> <span class="token operator"><</span>port<span class="token operator">></span> <span class="token parameter variable">-u</span> <span class="token operator"><</span>username<span class="token operator">></span> <span class="token parameter variable">-pw</span> <span class="token operator"><</span>password<span class="token operator">></span> <span class="token parameter variable">-f</span> <span class="token operator"><</span>xxx.csv<span class="token operator">></span> <span class="token punctuation">[</span>-fd <span class="token operator"><</span>./failedDirectory<span class="token operator">></span><span class="token punctuation">]</span> <span class="token punctuation">[</span>-aligned <span class="token operator"><</span>true<span class="token operator">></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></div><p>参数:</p><ul><li><p><code>-f</code>:</p><ul><li>指定你想要导入的数据,这里可以指定文件或者文件夹。如果指定的是文件夹,将会把文件夹中所有的后缀为txt与csv的文件进行批量导入。</li><li>例如: <code>-f filename.csv</code></li></ul></li><li><p><code>-fd</code>:</p><ul><li>指定一个目录来存放保存失败的行的文件,如果你没有指定这个参数,失败的文件将会被保存到源数据的目录中,然后文件名是源文件名加上<code>.failed</code>的后缀。</li><li>例如: <code>-fd ./failed/</code></li></ul></li><li><p><code>-aligned</code>:</p><ul><li>是否使用<code>aligned</code>接口? 默认参数为<code>false</code>。</li><li>例如: <code>-aligned true</code></li></ul></li><li><p><code>-batch</code>:</p><ul><li>用于指定每一批插入的数据的点数。如果程序报了<code>org.apache.thrift.transport.TTransportException: Frame size larger than protect max size</code>这个错的话,就可以适当的调低这个参数。</li><li>例如: <code>-batch 100000</code>,<code>100000</code>是默认值。</li></ul></li></ul><h4 id="运行示例-1" tabindex="-1"><a class="header-anchor" href="#运行示例-1" aria-hidden="true">#</a> 运行示例</h4><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code><span class="token comment"># Unix/OS X</span> |
| <span class="token operator">></span>tools/import-csv.sh <span class="token parameter variable">-h</span> <span class="token number">127.0</span>.0.1 <span class="token parameter variable">-p</span> <span class="token number">6667</span> <span class="token parameter variable">-u</span> root <span class="token parameter variable">-pw</span> root <span class="token parameter variable">-f</span> example-filename.csv <span class="token parameter variable">-fd</span> ./failed |
| <span class="token comment"># or</span> |
| <span class="token operator">></span>tools/import-csv.sh <span class="token parameter variable">-h</span> <span class="token number">127.0</span>.0.1 <span class="token parameter variable">-p</span> <span class="token number">6667</span> <span class="token parameter variable">-u</span> root <span class="token parameter variable">-pw</span> root <span class="token parameter variable">-f</span> example-filename.csv <span class="token parameter variable">-fd</span> ./failed |
| <span class="token comment"># Windows</span> |
| <span class="token operator">></span>tools<span class="token punctuation">\\</span>import-csv.bat <span class="token parameter variable">-h</span> <span class="token number">127.0</span>.0.1 <span class="token parameter variable">-p</span> <span class="token number">6667</span> <span class="token parameter variable">-u</span> root <span class="token parameter variable">-pw</span> root <span class="token parameter variable">-f</span> example-filename.csv |
| <span class="token comment"># or</span> |
| <span class="token operator">></span>tools<span class="token punctuation">\\</span>import-csv.bat <span class="token parameter variable">-h</span> <span class="token number">127.0</span>.0.1 <span class="token parameter variable">-p</span> <span class="token number">6667</span> <span class="token parameter variable">-u</span> root <span class="token parameter variable">-pw</span> root <span class="token parameter variable">-f</span> example-filename.csv <span class="token parameter variable">-fd</span> .<span class="token punctuation">\\</span>failed |
| </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><h4 id="注意-1" tabindex="-1"><a class="header-anchor" href="#注意-1" aria-hidden="true">#</a> 注意</h4><p>注意,在导入数据前,需要特殊处理下列的字符:</p><ol><li><code>,</code> :如果text类型的字段中包含<code>,</code>那么需要用<code>\\</code>来进行转义。</li><li>你可以导入像<code>yyyy-MM-dd'T'HH:mm:ss</code>, <code>yyy-MM-dd HH:mm:ss</code>, 或者 <code>yyyy-MM-dd'T'HH:mm:ss.SSSZ</code>格式的时间。</li><li><code>Time</code>这一列应该放在第一列。</li></ol>`,21);function _(I,O){const e=o("ExternalLinkIcon");return l(),c("div",null,[r(` |
| |
| 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. |
| |
| `),u,k,s("h3",d,[m,a(" 使用 "),s("a",b,[a("export-csv.sh"),p(e)])]),v,s("ul",null,[h,s("li",null,[g,a(": "),s("ul",null,[s("li",null,[a("指定一个你想要得到的时间格式。时间格式必须遵守"),s("a",w,[a("ISO 8601"),p(e)]),a("标准。如果说你想要以时间戳来保存时间,那就设置为"),f,a("。")]),T])])]),y,s("h3",q,[x,a(),s("a",E,[a("使用import-csv.sh"),p(e)])]),S])}const A=t(i,[["render",_],["__file","CSV-Tool.html.vue"]]);export{A as default}; |