blob: a68e5546bd24739d78d2339ba516651f1f31b6df [file] [log] [blame]
import{_ as t,r as o,o as l,c,b as s,d as a,a as p,e as n}from"./app-Bp5kEZWW.js";const r={},u=s("h2",{id:"导入导出-csv",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#导入导出-csv"},[s("span",null,"导入导出 CSV")])],-1),i=s("p",null,"CSV 工具可帮您将 CSV 格式的数据导入到 IoTDB 或者将数据从 IoTDB 导出到 CSV 文件。",-1),k={id:"使用-export-csv-sh",tabindex:"-1"},d={class:"header-anchor",href:"#使用-export-csv-sh"},m={href:"http://export-csv.sh",target:"_blank",rel:"noopener noreferrer"},b=n(`<h4 id="运行方法" tabindex="-1"><a class="header-anchor" href="#运行方法"><span>运行方法</span></a></h4><div class="language-bash line-numbers-mode" data-ext="sh" data-title="sh"><pre class="language-bash"><code><span class="token comment"># Unix/OS X</span>
<span class="token operator">&gt;</span> tools/export-csv.sh <span class="token parameter variable">-h</span> <span class="token operator">&lt;</span>ip<span class="token operator">&gt;</span> <span class="token parameter variable">-p</span> <span class="token operator">&lt;</span>port<span class="token operator">&gt;</span> <span class="token parameter variable">-u</span> <span class="token operator">&lt;</span>username<span class="token operator">&gt;</span> <span class="token parameter variable">-pw</span> <span class="token operator">&lt;</span>password<span class="token operator">&gt;</span> <span class="token parameter variable">-td</span> <span class="token operator">&lt;</span>directory<span class="token operator">&gt;</span> <span class="token punctuation">[</span>-tf <span class="token operator">&lt;</span>time-format<span class="token operator">&gt;</span> <span class="token parameter variable">-datatype</span> <span class="token operator">&lt;</span>true/false<span class="token operator">&gt;</span> <span class="token parameter variable">-q</span> <span class="token operator">&lt;</span>query command<span class="token operator">&gt;</span> <span class="token parameter variable">-s</span> <span class="token operator">&lt;</span>sql file<span class="token operator">&gt;</span><span class="token punctuation">]</span>
<span class="token comment"># Windows</span>
<span class="token operator">&gt;</span> tools<span class="token punctuation">\\</span>export-csv.bat <span class="token parameter variable">-h</span> <span class="token operator">&lt;</span>ip<span class="token operator">&gt;</span> <span class="token parameter variable">-p</span> <span class="token operator">&lt;</span>port<span class="token operator">&gt;</span> <span class="token parameter variable">-u</span> <span class="token operator">&lt;</span>username<span class="token operator">&gt;</span> <span class="token parameter variable">-pw</span> <span class="token operator">&lt;</span>password<span class="token operator">&gt;</span> <span class="token parameter variable">-td</span> <span class="token operator">&lt;</span>directory<span class="token operator">&gt;</span> <span class="token punctuation">[</span>-tf <span class="token operator">&lt;</span>time-format<span class="token operator">&gt;</span> <span class="token parameter variable">-datatype</span> <span class="token operator">&lt;</span>true/false<span class="token operator">&gt;</span> <span class="token parameter variable">-q</span> <span class="token operator">&lt;</span>query command<span class="token operator">&gt;</span> <span class="token parameter variable">-s</span> <span class="token operator">&lt;</span>sql file<span class="token operator">&gt;</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),v=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 &lt;query command&gt;</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 &lt;sql file&gt;</code>: <ul><li>指定一个SQL文件,里面包含一条或多条SQL语句。如果一个SQL文件中包含多条SQL语句,SQL语句之间应该用换行符进行分割。每一条SQL语句对应一个输出的CSV文件。</li></ul></li><li><code>-td &lt;directory&gt;</code>: <ul><li>为导出的CSV文件指定输出路径。</li></ul></li>",4),h=s("code",null,"-tf <time-format>",-1),g={href:"https://calendars.wikia.org/wiki/ISO_8601",target:"_blank",rel:"noopener noreferrer"},T=s("code",null,"-tf timestamp",-1),w=s("li",null,[a("例如: "),s("code",null,"-tf yyyy-MM-dd\\ HH:mm:ss"),a(" or "),s("code",null,"-tf timestamp")],-1),f=n(`<p>除此之外,如果你没有使用<code>-s</code>和<code>-q</code>参数,在导出脚本被启动之后你需要按照程序提示输入查询语句,不同的查询结果会被保存到不同的CSV文件中。</p><h4 id="运行示例" tabindex="-1"><a class="header-anchor" href="#运行示例"><span>运行示例</span></a></h4><div class="language-bash line-numbers-mode" data-ext="sh" data-title="sh"><pre class="language-bash"><code><span class="token comment"># Unix/OS X</span>
<span class="token operator">&gt;</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">&gt;</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">&gt;</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">&quot;select * from root&quot;</span>
<span class="token comment"># Or</span>
<span class="token operator">&gt;</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">&gt;</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">&gt;</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">&gt;</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">&gt;</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">&quot;select * from root&quot;</span>
<span class="token comment"># Or</span>
<span class="token operator">&gt;</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">&gt;</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-文件示例"><span>SQL 文件示例</span></a></h4><div class="language-sql line-numbers-mode" data-ext="sql" data-title="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" data-title="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">&quot;v1&quot;</span><span class="token punctuation">,</span><span class="token boolean">true</span><span class="token punctuation">,</span><span class="token string">&quot;v1&quot;</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">&quot;v1&quot;</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" data-title="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">&quot;v1&quot;</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">&quot;v1&quot;</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">&quot;v1&quot;</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">&quot;v1&quot;</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="#注意"><span>注意</span></a></h4><p>注意,如果导出字段存在如下特殊字符:</p><ol><li><code>,</code>: 导出程序会在<code>,</code>字符前加<code>\\</code>来进行转义。</li></ol>`,13),y={id:"使用import-csv-sh",tabindex:"-1"},q={class:"header-anchor",href:"#使用import-csv-sh"},x={href:"http://xn--import-csv-2u5pm927a.sh",target:"_blank",rel:"noopener noreferrer"},S=n(`<h4 id="创建元数据-可选" tabindex="-1"><a class="header-anchor" href="#创建元数据-可选"><span>创建元数据 (可选)</span></a></h4><div class="language-sql line-numbers-mode" data-ext="sql" data-title="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-文件示例"><span>待导入 CSV 文件示例</span></a></h4><p>通过时间对齐,并且header中不包含数据类型的数据。</p><div class="language-sql line-numbers-mode" data-ext="sql" data-title="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">&quot;123hello world&quot;</span><span class="token punctuation">,</span><span class="token string">&quot;123\\,abc&quot;</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">&quot;123&quot;</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" data-title="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">&quot;123hello world&quot;</span><span class="token punctuation">,</span><span class="token string">&quot;123\\,abc&quot;</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">&quot;123&quot;</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" data-title="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">&quot;123hello world&quot;</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">&quot;123&quot;</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">&quot;123\\,abc&quot;</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" data-title="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">&quot;123hello world&quot;</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">&quot;123&quot;</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">&quot;123\\,abc&quot;</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"><span>运行方法</span></a></h4><div class="language-bash line-numbers-mode" data-ext="sh" data-title="sh"><pre class="language-bash"><code><span class="token comment"># Unix/OS X</span>
<span class="token operator">&gt;</span>tools/import-csv.sh <span class="token parameter variable">-h</span> <span class="token operator">&lt;</span>ip<span class="token operator">&gt;</span> <span class="token parameter variable">-p</span> <span class="token operator">&lt;</span>port<span class="token operator">&gt;</span> <span class="token parameter variable">-u</span> <span class="token operator">&lt;</span>username<span class="token operator">&gt;</span> <span class="token parameter variable">-pw</span> <span class="token operator">&lt;</span>password<span class="token operator">&gt;</span> <span class="token parameter variable">-f</span> <span class="token operator">&lt;</span>xxx.csv<span class="token operator">&gt;</span> <span class="token punctuation">[</span>-fd <span class="token operator">&lt;</span>./failedDirectory<span class="token operator">&gt;</span><span class="token punctuation">]</span> <span class="token punctuation">[</span>-aligned <span class="token operator">&lt;</span>true<span class="token operator">&gt;</span><span class="token punctuation">]</span>
<span class="token comment"># Windows</span>
<span class="token operator">&gt;</span>tools<span class="token punctuation">\\</span>import-csv.bat <span class="token parameter variable">-h</span> <span class="token operator">&lt;</span>ip<span class="token operator">&gt;</span> <span class="token parameter variable">-p</span> <span class="token operator">&lt;</span>port<span class="token operator">&gt;</span> <span class="token parameter variable">-u</span> <span class="token operator">&lt;</span>username<span class="token operator">&gt;</span> <span class="token parameter variable">-pw</span> <span class="token operator">&lt;</span>password<span class="token operator">&gt;</span> <span class="token parameter variable">-f</span> <span class="token operator">&lt;</span>xxx.csv<span class="token operator">&gt;</span> <span class="token punctuation">[</span>-fd <span class="token operator">&lt;</span>./failedDirectory<span class="token operator">&gt;</span><span class="token punctuation">]</span> <span class="token punctuation">[</span>-aligned <span class="token operator">&lt;</span>true<span class="token operator">&gt;</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"><span>运行示例</span></a></h4><div class="language-bash line-numbers-mode" data-ext="sh" data-title="sh"><pre class="language-bash"><code><span class="token comment"># Unix/OS X</span>
<span class="token operator">&gt;</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">&gt;</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">&gt;</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">&gt;</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"><span>注意</span></a></h4><p>注意,在导入数据前,需要特殊处理下列的字符:</p><ol><li><code>,</code> :如果text类型的字段中包含<code>,</code>那么需要用<code>\\</code>来进行转义。</li><li>你可以导入像<code>yyyy-MM-dd&#39;T&#39;HH:mm:ss</code>, <code>yyy-MM-dd HH:mm:ss</code>, 或者 <code>yyyy-MM-dd&#39;T&#39;HH:mm:ss.SSSZ</code>格式的时间。</li><li><code>Time</code>这一列应该放在第一列。</li></ol>`,21);function E(_,I){const e=o("ExternalLinkIcon");return l(),c("div",null,[u,i,s("h3",k,[s("a",d,[s("span",null,[a("使用 "),s("a",m,[a("export-csv.sh"),p(e)])])])]),b,s("ul",null,[v,s("li",null,[h,a(": "),s("ul",null,[s("li",null,[a("指定一个你想要得到的时间格式。时间格式必须遵守"),s("a",g,[a("ISO 8601"),p(e)]),a("标准。如果说你想要以时间戳来保存时间,那就设置为"),T,a("。")]),w])])]),f,s("h3",y,[s("a",q,[s("span",null,[s("a",x,[a("使用import-csv.sh"),p(e)])])])]),S])}const V=t(r,[["render",E],["__file","CSV-Tool.html.vue"]]),O=JSON.parse('{"path":"/zh/UserGuide/V0.13.x/Write-And-Delete-Data/CSV-Tool.html","title":"","lang":"zh-CN","frontmatter":{"description":"导入导出 CSV CSV 工具可帮您将 CSV 格式的数据导入到 IoTDB 或者将数据从 IoTDB 导出到 CSV 文件。 使用 export-csv.sh 运行方法 参数: -datatype: true (默认): CSV文件的header中时间序列的后面打印出对应的数据类型。例如:Time, root.sg1.d1.s1(INT32), r...","head":[["link",{"rel":"alternate","hreflang":"en-us","href":"https://iotdb.apache.org/UserGuide/V0.13.x/Write-And-Delete-Data/CSV-Tool.html"}],["meta",{"property":"og:url","content":"https://iotdb.apache.org/zh/UserGuide/V0.13.x/Write-And-Delete-Data/CSV-Tool.html"}],["meta",{"property":"og:site_name","content":"IoTDB Website"}],["meta",{"property":"og:description","content":"导入导出 CSV CSV 工具可帮您将 CSV 格式的数据导入到 IoTDB 或者将数据从 IoTDB 导出到 CSV 文件。 使用 export-csv.sh 运行方法 参数: -datatype: true (默认): 在CSV文件的header中时间序列的后面打印出对应的数据类型。例如:Time, root.sg1.d1.s1(INT32), r..."}],["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":"导入导出 CSV","slug":"导入导出-csv","link":"#导入导出-csv","children":[{"level":3,"title":"使用 export-csv.sh","slug":"使用-export-csv-sh","link":"#使用-export-csv-sh","children":[]},{"level":3,"title":"使用import-csv.sh","slug":"使用import-csv-sh","link":"#使用import-csv-sh","children":[]}]}],"git":{"createdTime":1688958677000,"updatedTime":1688958677000,"contributors":[{"name":"CritasWang","email":"critas@outlook.com","commits":1}]},"readingTime":{"minutes":5.76,"words":1727},"filePathRelative":"zh/UserGuide/V0.13.x/Write-And-Delete-Data/CSV-Tool.md","localizedDate":"2023年7月10日","autoDesc":true}');export{V as comp,O as data};