blob: 2b453aa9cb1bd067be20ac9b8b69d4e096d25105 [file] [log] [blame]
import{_ as l,c as a,b as n,o}from"./app-C8175JBb.js";const e={};function p(t,s){return o(),a("div",null,s[0]||(s[0]=[n(`<h1 id="tsfile导入导出脚本" tabindex="-1"><a class="header-anchor" href="#tsfile导入导出脚本"><span>TsFile导入导出脚本</span></a></h1><p>针对于不同场景,IoTDB 为用户提供多种批量导入数据的操作方式,本章节向大家介绍最为常用的两种方式为 CSV文本形式的导入 和 TsFile文件形式的导入。</p><h2 id="tsfile-导入导出脚本" tabindex="-1"><a class="header-anchor" href="#tsfile-导入导出脚本"><span>TsFile 导入导出脚本</span></a></h2><p>TsFile 是在 IoTDB 中使用的时间序列的文件格式,您可以通过CLI等工具直接将存有时间序列的一个或多个 TsFile 文件导入到另外一个正在运行的IoTDB实例中。</p><h3 id="介绍" tabindex="-1"><a class="header-anchor" href="#介绍"><span>介绍</span></a></h3><p>加载外部 tsfile 文件工具允许用户向正在运行中的 Apache IoTDB 中加载 tsfile 文件。或者您也可以使用脚本的方式将tsfile加载进IoTDB。</p><h3 id="使用-sql-加载" tabindex="-1"><a class="header-anchor" href="#使用-sql-加载"><span>使用 SQL 加载</span></a></h3><p>用户通过 Cli 工具或 JDBC 向 Apache IoTDB 系统发送指定命令实现文件加载的功能。</p><h4 id="加载-tsfile-文件" tabindex="-1"><a class="header-anchor" href="#加载-tsfile-文件"><span>加载 tsfile 文件</span></a></h4><p>加载 tsfile 文件的指令为:<code>load &#39;&lt;path/dir&gt;&#39; [sglevel=int][verify=true/false][onSuccess=delete/none]</code></p><p>该指令有两种用法:</p><ol><li>通过指定文件路径(绝对路径)加载单 tsfile 文件。</li></ol><p>第一个参数表示待加载的 tsfile 文件的路径。load 命令有三个可选项,分别是 sglevel,值域为整数,verify,值域为 true/falseonSuccess,值域为delete/none。不同选项之间用空格隔开,选项之间无顺序要求。</p><p>SGLEVEL 选项,当 tsfile 对应的 database 不存在时,用户可以通过 sglevel 参数的值来制定 database 的级别,默认为<code>iotdb-common.properties</code>中设置的级别。例如当设置 level 参数为1时表明此 tsfile 中所有时间序列中层级为1的前缀路径是 database,即若存在设备 root.sg.d1.s1,此时 <a href="http://root.sg" target="_blank" rel="noopener noreferrer">root.sg</a> 被指定为 database。</p><p>VERIFY 选项表示是否对载入的 tsfile 中的所有时间序列进行元数据检查,默认为 true。开启时,若载入的 tsfile 中的时间序列在当前 iotdb 中也存在,则会比较该时间序列的所有 Measurement 的数据类型是否一致,如果出现不一致将会导致载入失败,关闭该选项会跳过检查,载入更快。</p><p>ONSUCCESS选项表示对于成功载入的tsfile的处置方式,默认为delete,即tsfile成功加载后将被删除,如果是none表明tsfile成功加载之后依然被保留在源文件夹。</p><p>若待加载的 tsfile 文件对应的<code>.resource</code>文件存在,会被一并加载至 Apache IoTDB 数据文件的目录和引擎中,否则将通过 tsfile 文件重新生成对应的<code>.resource</code>文件,即加载的 tsfile 文件所对应的<code>.resource</code>文件不是必要的。</p><p>示例:</p><ul><li><code>load &#39;/Users/Desktop/data/1575028885956-101-0.tsfile&#39;</code></li><li><code>load &#39;/Users/Desktop/data/1575028885956-101-0.tsfile&#39; verify=true</code></li><li><code>load &#39;/Users/Desktop/data/1575028885956-101-0.tsfile&#39; verify=false</code></li><li><code>load &#39;/Users/Desktop/data/1575028885956-101-0.tsfile&#39; sglevel=1</code></li><li><code>load &#39;/Users/Desktop/data/1575028885956-101-0.tsfile&#39; onSuccess=delete</code></li><li><code>load &#39;/Users/Desktop/data/1575028885956-101-0.tsfile&#39; verify=true sglevel=1</code></li><li><code>load &#39;/Users/Desktop/data/1575028885956-101-0.tsfile&#39; verify=false sglevel=1</code></li><li><code>load &#39;/Users/Desktop/data/1575028885956-101-0.tsfile&#39; verify=true onSuccess=none</code></li><li><code>load &#39;/Users/Desktop/data/1575028885956-101-0.tsfile&#39; verify=false sglevel=1 onSuccess=delete</code></li></ul><ol start="2"><li>通过指定文件夹路径(绝对路径)批量加载文件。</li></ol><p>第一个参数表示待加载的 tsfile 文件夹的路径。选项意义与加载单个 tsfile 文件相同。</p><p>示例:</p><ul><li><code>load &#39;/Users/Desktop/data&#39;</code></li><li><code>load &#39;/Users/Desktop/data&#39; verify=false</code></li><li><code>load &#39;/Users/Desktop/data&#39; verify=true</code></li><li><code>load &#39;/Users/Desktop/data&#39; verify=true sglevel=1</code></li><li><code>load &#39;/Users/Desktop/data&#39; verify=false sglevel=1 onSuccess=delete</code></li></ul><p><strong>注意</strong>,如果<code>$IOTDB_HOME$/conf/iotdb-common.properties</code>中<code>enable_auto_create_schema=true</code>时会在加载tsfile的时候自动创建tsfile中的元数据,否则不会自动创建。</p><h3 id="使用脚本加载" tabindex="-1"><a class="header-anchor" href="#使用脚本加载"><span>使用脚本加载</span></a></h3><p>若您在Windows环境中,请运行<code>$IOTDB_HOME/tools/load-tsfile.bat</code>,若为Linux或Unix,请运行<code>load-tsfile.sh</code></p><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" data-title="bash" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#61AFEF;">./load-tsfile.bat</span><span style="color:#D19A66;"> -f</span><span style="color:#98C379;"> filePath</span><span style="color:#ABB2BF;"> [-h </span><span style="color:#98C379;">host]</span><span style="color:#ABB2BF;"> [-p </span><span style="color:#98C379;">port]</span><span style="color:#ABB2BF;"> [-u </span><span style="color:#98C379;">username]</span><span style="color:#ABB2BF;"> [-pw </span><span style="color:#98C379;">password]</span><span style="color:#ABB2BF;"> [--sgLevel </span><span style="color:#98C379;">int]</span><span style="color:#ABB2BF;"> [--verify </span><span style="color:#D19A66;">true</span><span style="color:#98C379;">/</span><span style="color:#D19A66;">false</span><span style="color:#98C379;">]</span><span style="color:#ABB2BF;"> [--onSuccess </span><span style="color:#98C379;">none/delete]</span></span>
<span class="line"><span style="color:#61AFEF;">-f</span><span style="color:#98C379;"> 待加载的文件或文件夹路径,必要字段</span></span>
<span class="line"><span style="color:#61AFEF;">-h</span><span style="color:#98C379;"> IoTDB的Host地址,可选,默认127.0.0.1</span></span>
<span class="line"><span style="color:#61AFEF;">-p</span><span style="color:#98C379;"> IoTDB的端口,可选,默认6667</span></span>
<span class="line"><span style="color:#61AFEF;">-u</span><span style="color:#98C379;"> IoTDb登录用户名,可选,默认root</span></span>
<span class="line"><span style="color:#61AFEF;">-pw</span><span style="color:#98C379;"> IoTDB登录密码,可选,默认root</span></span>
<span class="line"><span style="color:#61AFEF;">--sgLevel</span><span style="color:#98C379;"> 加载TsFile自动创建Database的路径层级,可选,默认值为iotdb-common.properties指定值</span></span>
<span class="line"><span style="color:#61AFEF;">--verify</span><span style="color:#98C379;"> 是否对加载TsFile进行元数据校验,可选,默认为True</span></span>
<span class="line"><span style="color:#61AFEF;">--onSuccess</span><span style="color:#98C379;"> 对成功加载的TsFile的处理方法,可选,默认为delete,成功加载之后删除源TsFile,设为none时会</span><span style="color:#98C379;"> 保留源TsFile</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="使用范例" tabindex="-1"><a class="header-anchor" href="#使用范例"><span>使用范例</span></a></h4><p>假定服务器192.168.0.101:6667上运行一个IoTDB实例,想从将本地保存的TsFile备份文件夹D:\\IoTDB\\data中的所有的TsFile文件都加载进此IoTDB实例。</p><p>首先移动至<code>$IOTDB_HOME/tools/</code>,打开命令行,然后执行</p><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" data-title="bash" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#61AFEF;">./load-tsfile.bat</span><span style="color:#D19A66;"> -f</span><span style="color:#98C379;"> D:</span><span style="color:#56B6C2;">\\I</span><span style="color:#98C379;">oTDB</span><span style="color:#56B6C2;">\\d</span><span style="color:#98C379;">ata</span><span style="color:#D19A66;"> -h</span><span style="color:#D19A66;"> 192.168.0.101</span><span style="color:#D19A66;"> -p</span><span style="color:#D19A66;"> 6667</span><span style="color:#D19A66;"> -u</span><span style="color:#98C379;"> root</span><span style="color:#D19A66;"> -pw</span><span style="color:#98C379;"> root</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>等待脚本执行完成之后,可以检查IoTDB实例中数据已经被正确加载</p><h4 id="常见问题" tabindex="-1"><a class="header-anchor" href="#常见问题"><span>常见问题</span></a></h4><ul><li>找不到或无法加载主类 <ul><li>可能是由于未设置环境变量$IOTDB_HOME,请设置环境变量之后重试</li></ul></li><li>提示-f option must be set! <ul><li>输入命令缺少待-f字段(加载文件或文件夹路径),请添加之后重新执行</li></ul></li><li>执行到中途崩溃了想重新加载怎么办 <ul><li>重新执行刚才的命令,重新加载数据不会影响加载之后的正确性</li></ul></li></ul><h2 id="导出-tsfile" tabindex="-1"><a class="header-anchor" href="#导出-tsfile"><span>导出 TsFile</span></a></h2><p>TsFile 工具可帮您 通过执行指定sql、命令行sqlsql文件的方式将结果集以TsFile文件的格式导出至指定路径.</p><h3 id="使用-export-tsfile-sh" tabindex="-1"><a class="header-anchor" href="#使用-export-tsfile-sh"><span>使用 <a href="http://export-tsfile.sh" target="_blank" rel="noopener noreferrer">export-tsfile.sh</a></span></a></h3><h4 id="运行方法" tabindex="-1"><a class="header-anchor" href="#运行方法"><span>运行方法</span></a></h4><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" data-title="shell" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#7F848E;font-style:italic;"># Unix/OS X</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt; tools/export-tsfile.sh -h &lt;ip&gt; -p &lt;port&gt; -u &lt;username&gt; -pw &lt;password&gt; -td &lt;directory&gt; [-f </span><span style="color:#56B6C2;">&lt;</span><span style="color:#ABB2BF;">export filename</span><span style="color:#56B6C2;">&gt;</span><span style="color:#ABB2BF;"> -q </span><span style="color:#56B6C2;">&lt;</span><span style="color:#ABB2BF;">query command</span><span style="color:#56B6C2;">&gt;</span><span style="color:#56B6C2;"> -s</span><span style="color:#56B6C2;"> &lt;</span><span style="color:#ABB2BF;">sql file</span><span style="color:#56B6C2;">&gt;</span><span style="color:#ABB2BF;">]</span></span>
<span class="line"></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># Windows</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt; tools</span><span style="color:#56B6C2;">\\e</span><span style="color:#ABB2BF;">xport-tsfile.bat -h &lt;ip&gt; -p &lt;port&gt; -u &lt;username&gt; -pw &lt;password&gt; -td &lt;directory&gt; [-f </span><span style="color:#56B6C2;">&lt;</span><span style="color:#ABB2BF;">export filename</span><span style="color:#56B6C2;">&gt;</span><span style="color:#ABB2BF;"> -q </span><span style="color:#56B6C2;">&lt;</span><span style="color:#ABB2BF;">query command</span><span style="color:#56B6C2;">&gt;</span><span style="color:#56B6C2;"> -s</span><span style="color:#56B6C2;"> &lt;</span><span style="color:#ABB2BF;">sql file</span><span style="color:#56B6C2;">&gt;</span><span style="color:#ABB2BF;">]</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>参数:</p><ul><li><code>-h &lt;host&gt;</code>: <ul><li>IoTDB服务的主机地址。</li></ul></li><li><code>-p &lt;port&gt;</code>: <ul><li>IoTDB服务的端口号。</li></ul></li><li><code>-u &lt;username&gt;</code>: <ul><li>IoTDB服务的用户名。</li></ul></li><li><code>-pw &lt;password&gt;</code>: <ul><li>IoTDB服务的密码。</li></ul></li><li><code>-td &lt;directory&gt;</code>: <ul><li>为导出的TsFile文件指定输出路径。</li></ul></li><li><code>-f &lt;tsfile name&gt;</code>: <ul><li>为导出的TsFile文件的文件名,只需写文件名称,不能包含文件路径和后缀。如果sql文件或控制台输入时包含多个sql,会按照sql顺序生成多个TsFile文件。</li><li>例如:文件中或命令行共有3SQL,-f 为&quot;dump&quot;,那么会在目标路径下生成 dump0.tsfiledump1.tsfiledump2.tsfile三个TsFile文件。</li></ul></li><li><code>-q &lt;query command&gt;</code>: <ul><li>在命令中直接指定想要执行的查询语句。</li><li>例如: <code>select * from root.** limit 100</code></li></ul></li><li><code>-s &lt;sql file&gt;</code>: <ul><li>指定一个SQL文件,里面包含一条或多条SQL语句。如果一个SQL文件中包含多条SQL语句,SQL语句之间应该用换行符进行分割。每一条SQL语句对应一个输出的TsFile文件。</li></ul></li><li><code>-t &lt;timeout&gt;</code>: <ul><li>指定session查询时的超时时间,单位为ms</li></ul></li></ul><p>除此之外,如果你没有使用<code>-s</code>和<code>-q</code>参数,在导出脚本被启动之后你需要按照程序提示输入查询语句,不同的查询结果会被保存到不同的TsFile文件中。</p><h4 id="运行示例" tabindex="-1"><a class="header-anchor" href="#运行示例"><span>运行示例</span></a></h4><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" data-title="shell" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#7F848E;font-style:italic;"># Unix/OS X</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt; tools/export-tsfile.sh -h 127.0.0.1 -p 6667 -u root -pw root -td ./</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># or</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt; tools/export-tsfile.sh -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -q </span><span style="color:#98C379;">&quot;select * from root.**&quot;</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># Or</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt; tools/export-tsfile.sh -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -s ./sql.txt</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># Or</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt; tools/export-tsfile.sh -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -s ./sql.txt -f myTsFile</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># Or</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt; tools/export-tsfile.sh -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -s ./sql.txt -f myTsFile -t 10000</span></span>
<span class="line"></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># Windows</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt; tools/export-tsfile.bat -h 127.0.0.1 -p 6667 -u root -pw root -td ./</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># Or</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt; tools/export-tsfile.bat -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -q </span><span style="color:#98C379;">&quot;select * from root.**&quot;</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># Or</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt; tools/export-tsfile.bat -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -s ./sql.txt</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># Or</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt; tools/export-tsfile.bat -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -s ./sql.txt -f myTsFile</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># Or</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt; tools/export-tsfile.sh -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -s ./sql.txt -f myTsFile -t 10000</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="q-a" tabindex="-1"><a class="header-anchor" href="#q-a"><span>Q&amp;A</span></a></h4><ul><li>建议在导入数据时不要同时执行写入数据命令,这将有可能导致JVM内存不足的情况。</li></ul><h2 id="csv导入导出工具" tabindex="-1"><a class="header-anchor" href="#csv导入导出工具"><span>CSV导入导出工具</span></a></h2><p>CSV 是以纯文本形式存储表格数据,您可以在CSV文件中写入多条格式化的数据,并批量的将这些数据导入到 IoTDB 中,在导入数据之前,建议在IoTDB中创建好对应的元数据信息。如果忘记创建元数据也不要担心,IoTDB 可以自动将CSV中数据推断为其对应的数据类型,前提是你每一列的数据类型必须唯一。除单个文件外,此工具还支持以文件夹的形式导入多个 CSV 文件,并且支持设置如时间精度等优化参数。</p><h3 id="使用-export-csv-sh" tabindex="-1"><a class="header-anchor" href="#使用-export-csv-sh"><span>使用 <a href="http://export-csv.sh" target="_blank" rel="noopener noreferrer">export-csv.sh</a></span></a></h3><h4 id="运行方法-1" tabindex="-1"><a class="header-anchor" href="#运行方法-1"><span>运行方法</span></a></h4><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" data-title="shell" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#7F848E;font-style:italic;"># Unix/OS X</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt; tools/export-csv.sh -h &lt;ip&gt; -p &lt;port&gt; -u &lt;username&gt; -pw &lt;password&gt; -td &lt;directory&gt; [-tf </span><span style="color:#56B6C2;">&lt;</span><span style="color:#ABB2BF;">time-format</span><span style="color:#56B6C2;">&gt;</span><span style="color:#ABB2BF;"> -datatype </span><span style="color:#56B6C2;">&lt;</span><span style="color:#D19A66;">true</span><span style="color:#ABB2BF;">/</span><span style="color:#D19A66;">false</span><span style="color:#56B6C2;">&gt;</span><span style="color:#ABB2BF;"> -q </span><span style="color:#56B6C2;">&lt;</span><span style="color:#ABB2BF;">query command</span><span style="color:#56B6C2;">&gt;</span><span style="color:#56B6C2;"> -s</span><span style="color:#56B6C2;"> &lt;</span><span style="color:#ABB2BF;">sql file</span><span style="color:#56B6C2;">&gt;</span><span style="color:#ABB2BF;">]</span></span>
<span class="line"></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># Windows</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt; tools</span><span style="color:#56B6C2;">\\e</span><span style="color:#ABB2BF;">xport-csv.bat -h &lt;ip&gt; -p &lt;port&gt; -u &lt;username&gt; -pw &lt;password&gt; -td &lt;directory&gt; [-tf </span><span style="color:#56B6C2;">&lt;</span><span style="color:#ABB2BF;">time-format</span><span style="color:#56B6C2;">&gt;</span><span style="color:#ABB2BF;"> -datatype </span><span style="color:#56B6C2;">&lt;</span><span style="color:#D19A66;">true</span><span style="color:#ABB2BF;">/</span><span style="color:#D19A66;">false</span><span style="color:#56B6C2;">&gt;</span><span style="color:#ABB2BF;"> -q </span><span style="color:#56B6C2;">&lt;</span><span style="color:#ABB2BF;">query command</span><span style="color:#56B6C2;">&gt;</span><span style="color:#56B6C2;"> -s</span><span style="color:#56B6C2;"> &lt;</span><span style="color:#ABB2BF;">sql file</span><span style="color:#56B6C2;">&gt;</span><span style="color:#ABB2BF;">]</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>参数:</p><ul><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: 只在CSVheader中打印出时间序列的名字, <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><li><code>-tf &lt;time-format&gt;</code>: <ul><li>指定一个你想要得到的时间格式。时间格式必须遵守<a href="https://calendars.wikia.org/wiki/ISO_8601" target="_blank" rel="noopener noreferrer">ISO 8601</a>标准。如果说你想要以时间戳来保存时间,那就设置为<code>-tf timestamp</code>。</li><li>例如: <code>-tf yyyy-MM-dd\\ HH:mm:ss</code> or <code>-tf timestamp</code></li></ul></li><li><code>-linesPerFile &lt;int&gt;</code>: <ul><li>指定导出的dump文件最大行数,默认值为<code>10000</code>。</li><li>例如: <code>-linesPerFile 1</code></li></ul></li><li><code>-t &lt;timeout&gt;</code>: <ul><li>指定session查询时的超时时间,单位为ms</li></ul></li></ul><p>除此之外,如果你没有使用<code>-s</code>和<code>-q</code>参数,在导出脚本被启动之后你需要按照程序提示输入查询语句,不同的查询结果会被保存到不同的CSV文件中。</p><h4 id="运行示例-1" tabindex="-1"><a class="header-anchor" href="#运行示例-1"><span>运行示例</span></a></h4><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" data-title="shell" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#7F848E;font-style:italic;"># Unix/OS X</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt; tools/export-csv.sh -h 127.0.0.1 -p 6667 -u root -pw root -td ./</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># Or</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt; tools/export-csv.sh -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -tf yyyy-MM-dd</span><span style="color:#56B6C2;">\\ </span><span style="color:#ABB2BF;">HH:mm:ss</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># or</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt; tools/export-csv.sh -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -q </span><span style="color:#98C379;">&quot;select * from root.** align by device&quot;</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># Or</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt; tools/export-csv.sh -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -s sql.txt</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># Or</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt; tools/export-csv.sh -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -tf yyyy-MM-dd</span><span style="color:#56B6C2;">\\ </span><span style="color:#ABB2BF;">HH:mm:ss -s sql.txt</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># Or</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt; tools/export-csv.sh -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -tf yyyy-MM-dd</span><span style="color:#56B6C2;">\\ </span><span style="color:#ABB2BF;">HH:mm:ss -s sql.txt -linesPerFile 10</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># Or</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt; tools/export-csv.sh -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -tf yyyy-MM-dd</span><span style="color:#56B6C2;">\\ </span><span style="color:#ABB2BF;">HH:mm:ss -s sql.txt -linesPerFile 10 -t 10000</span></span>
<span class="line"></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># Windows</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt; tools/export-csv.bat -h 127.0.0.1 -p 6667 -u root -pw root -td ./</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># Or</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt; tools/export-csv.bat -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -tf yyyy-MM-dd</span><span style="color:#56B6C2;">\\ </span><span style="color:#ABB2BF;">HH:mm:ss</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># or</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt; tools/export-csv.bat -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -q </span><span style="color:#98C379;">&quot;select * from root.** align by device&quot;</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># Or</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt; tools/export-csv.bat -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -s sql.txt</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># Or</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt; tools/export-csv.bat -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -tf yyyy-MM-dd</span><span style="color:#56B6C2;">\\ </span><span style="color:#ABB2BF;">HH:mm:ss -s sql.txt</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># Or</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt; tools/export-csv.bat -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -tf yyyy-MM-dd</span><span style="color:#56B6C2;">\\ </span><span style="color:#ABB2BF;">HH:mm:ss -s sql.txt -linesPerFile 10</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># Or</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt; tools/export-csv.sh -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -tf yyyy-MM-dd</span><span style="color:#56B6C2;">\\ </span><span style="color:#ABB2BF;">HH:mm:ss -s sql.txt -linesPerFile 10 -t 10000</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div 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-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> * </span><span style="color:#C678DD;">from</span><span style="color:#C678DD;"> root</span><span style="color:#ABB2BF;">.**;</span></span>
<span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> * </span><span style="color:#C678DD;">from</span><span style="color:#C678DD;"> root</span><span style="color:#ABB2BF;">.** align </span><span style="color:#C678DD;">by</span><span style="color:#ABB2BF;"> device;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><p><code>select * from root.**</code>的执行结果:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">Time</span><span style="color:#ABB2BF;">,</span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">ln</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">wf04</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">wt04</span><span style="color:#ABB2BF;">.</span><span style="color:#C678DD;">status</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">BOOLEAN</span><span style="color:#ABB2BF;">),</span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">ln</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">wf03</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">wt03</span><span style="color:#ABB2BF;">.hardware(</span><span style="color:#C678DD;">TEXT</span><span style="color:#ABB2BF;">),</span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">ln</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">wf02</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">wt02</span><span style="color:#ABB2BF;">.</span><span style="color:#C678DD;">status</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">BOOLEAN</span><span style="color:#ABB2BF;">),</span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">ln</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">wf02</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">wt02</span><span style="color:#ABB2BF;">.hardware(</span><span style="color:#C678DD;">TEXT</span><span style="color:#ABB2BF;">),</span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">ln</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">wf01</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">wt01</span><span style="color:#ABB2BF;">.hardware(</span><span style="color:#C678DD;">TEXT</span><span style="color:#ABB2BF;">),</span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">ln</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">wf01</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">wt01</span><span style="color:#ABB2BF;">.</span><span style="color:#C678DD;">status</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">BOOLEAN</span><span style="color:#ABB2BF;">)</span></span>
<span class="line"><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">001</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">,true,</span><span style="color:#98C379;">&quot;v1&quot;</span><span style="color:#ABB2BF;">,true,</span><span style="color:#98C379;">&quot;v1&quot;</span><span style="color:#ABB2BF;">,v1,true</span></span>
<span class="line"><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">002</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">,true,</span><span style="color:#98C379;">&quot;v1&quot;</span><span style="color:#ABB2BF;">,,,,true</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p><code>select * from root.** align by device</code>的执行结果:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">Time</span><span style="color:#ABB2BF;">,Device,hardware(</span><span style="color:#C678DD;">TEXT</span><span style="color:#ABB2BF;">),</span><span style="color:#C678DD;">status</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">BOOLEAN</span><span style="color:#ABB2BF;">)</span></span>
<span class="line"><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">001</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">,</span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">ln</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">wf01</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">wt01</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">&quot;v1&quot;</span><span style="color:#ABB2BF;">,true</span></span>
<span class="line"><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">002</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">,</span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">ln</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">wf01</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">wt01</span><span style="color:#ABB2BF;">,,true</span></span>
<span class="line"><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">001</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">,</span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">ln</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">wf02</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">wt02</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">&quot;v1&quot;</span><span style="color:#ABB2BF;">,true</span></span>
<span class="line"><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">001</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">,</span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">ln</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">wf03</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">wt03</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">&quot;v1&quot;</span><span style="color:#ABB2BF;">,</span></span>
<span class="line"><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">002</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">,</span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">ln</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">wf03</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">wt03</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">&quot;v1&quot;</span><span style="color:#ABB2BF;">,</span></span>
<span class="line"><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">001</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">,</span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">ln</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">wf04</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">wt04</span><span style="color:#ABB2BF;">,,true</span></span>
<span class="line"><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">002</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">,</span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">ln</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">wf04</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">wt04</span><span style="color:#ABB2BF;">,,true</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>布尔类型的数据用<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><h3 id="使用-import-csv-sh" tabindex="-1"><a class="header-anchor" href="#使用-import-csv-sh"><span>使用 <a href="http://import-csv.sh" target="_blank" rel="noopener noreferrer">import-csv.sh</a></span></a></h3><h4 id="创建元数据-可选" tabindex="-1"><a class="header-anchor" href="#创建元数据-可选"><span>创建元数据 (可选)</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">CREATE</span><span style="color:#C678DD;"> DATABASE</span><span style="color:#61AFEF;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">fit</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">d1</span><span style="color:#ABB2BF;">;</span></span>
<span class="line"><span style="color:#C678DD;">CREATE</span><span style="color:#C678DD;"> DATABASE</span><span style="color:#61AFEF;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">fit</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">d2</span><span style="color:#ABB2BF;">;</span></span>
<span class="line"><span style="color:#C678DD;">CREATE</span><span style="color:#C678DD;"> DATABASE</span><span style="color:#61AFEF;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">fit</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">p</span><span style="color:#ABB2BF;">;</span></span>
<span class="line"><span style="color:#C678DD;">CREATE</span><span style="color:#ABB2BF;"> TIMESERIES </span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">fit</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">d1</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">s1</span><span style="color:#C678DD;"> WITH</span><span style="color:#ABB2BF;"> DATATYPE</span><span style="color:#56B6C2;">=</span><span style="color:#ABB2BF;">INT32,</span><span style="color:#C678DD;">ENCODING</span><span style="color:#56B6C2;">=</span><span style="color:#ABB2BF;">RLE;</span></span>
<span class="line"><span style="color:#C678DD;">CREATE</span><span style="color:#ABB2BF;"> TIMESERIES </span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">fit</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">d1</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">s2</span><span style="color:#C678DD;"> WITH</span><span style="color:#ABB2BF;"> DATATYPE</span><span style="color:#56B6C2;">=</span><span style="color:#C678DD;">TEXT</span><span style="color:#ABB2BF;">,</span><span style="color:#C678DD;">ENCODING</span><span style="color:#56B6C2;">=</span><span style="color:#ABB2BF;">PLAIN;</span></span>
<span class="line"><span style="color:#C678DD;">CREATE</span><span style="color:#ABB2BF;"> TIMESERIES </span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">fit</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">d2</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">s1</span><span style="color:#C678DD;"> WITH</span><span style="color:#ABB2BF;"> DATATYPE</span><span style="color:#56B6C2;">=</span><span style="color:#ABB2BF;">INT32,</span><span style="color:#C678DD;">ENCODING</span><span style="color:#56B6C2;">=</span><span style="color:#ABB2BF;">RLE;</span></span>
<span class="line"><span style="color:#C678DD;">CREATE</span><span style="color:#ABB2BF;"> TIMESERIES </span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">fit</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">d2</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">s3</span><span style="color:#C678DD;"> WITH</span><span style="color:#ABB2BF;"> DATATYPE</span><span style="color:#56B6C2;">=</span><span style="color:#ABB2BF;">INT32,</span><span style="color:#C678DD;">ENCODING</span><span style="color:#56B6C2;">=</span><span style="color:#ABB2BF;">RLE;</span></span>
<span class="line"><span style="color:#C678DD;">CREATE</span><span style="color:#ABB2BF;"> TIMESERIES </span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">fit</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">p</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">s1</span><span style="color:#C678DD;"> WITH</span><span style="color:#ABB2BF;"> DATATYPE</span><span style="color:#56B6C2;">=</span><span style="color:#ABB2BF;">INT32,</span><span style="color:#C678DD;">ENCODING</span><span style="color:#56B6C2;">=</span><span style="color:#ABB2BF;">RLE;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>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-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">Time</span><span style="color:#ABB2BF;">,</span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">t1</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">str</span><span style="color:#ABB2BF;">,</span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">t2</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">str</span><span style="color:#ABB2BF;">,</span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">t2</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">int</span></span>
<span class="line"><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">001</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">&quot;123hello world&quot;</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">&quot;123\\,abc&quot;</span><span style="color:#ABB2BF;">,</span><span style="color:#D19A66;">100</span></span>
<span class="line"><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">002</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">&quot;123&quot;</span><span style="color:#ABB2BF;">,,</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>通过时间对齐,并且header中包含数据类型的数据。(Text类型数据支持加双引号和不加双引号)</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">Time</span><span style="color:#ABB2BF;">,</span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">t1</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">str</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">TEXT</span><span style="color:#ABB2BF;">),</span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">t2</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">str</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">TEXT</span><span style="color:#ABB2BF;">),</span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">t2</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">int</span><span style="color:#ABB2BF;">(INT32)</span></span>
<span class="line"><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">001</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">&quot;123hello world&quot;</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">&quot;123\\,abc&quot;</span><span style="color:#ABB2BF;">,</span><span style="color:#D19A66;">100</span></span>
<span class="line"><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">002</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">,</span><span style="color:#D19A66;">123</span><span style="color:#ABB2BF;">,hello world,</span><span style="color:#D19A66;">123</span></span>
<span class="line"><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">003</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">&quot;123&quot;</span><span style="color:#ABB2BF;">,,</span></span>
<span class="line"><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">004</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">,</span><span style="color:#D19A66;">123</span><span style="color:#ABB2BF;">,,</span><span style="color:#D19A66;">12</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>通过设备对齐,并且header中不包含数据类型的数据。</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">Time</span><span style="color:#ABB2BF;">,Device,str,</span><span style="color:#C678DD;">int</span></span>
<span class="line"><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">001</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">,</span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.t1,</span><span style="color:#98C379;">&quot;123hello world&quot;</span><span style="color:#ABB2BF;">,</span></span>
<span class="line"><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">002</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">,</span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.t1,</span><span style="color:#98C379;">&quot;123&quot;</span><span style="color:#ABB2BF;">,</span></span>
<span class="line"><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">001</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">,</span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.t2,</span><span style="color:#98C379;">&quot;123\\,abc&quot;</span><span style="color:#ABB2BF;">,</span><span style="color:#D19A66;">100</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>通过设备对齐,并且header中包含数据类型的数据。(Text类型数据支持加双引号和不加双引号)</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">Time</span><span style="color:#ABB2BF;">,Device,</span><span style="color:#56B6C2;">str</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">TEXT</span><span style="color:#ABB2BF;">),</span><span style="color:#C678DD;">int</span><span style="color:#ABB2BF;">(INT32)</span></span>
<span class="line"><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">001</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">,</span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.t1,</span><span style="color:#98C379;">&quot;123hello world&quot;</span><span style="color:#ABB2BF;">,</span></span>
<span class="line"><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">002</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">,</span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.t1,</span><span style="color:#98C379;">&quot;123&quot;</span><span style="color:#ABB2BF;">,</span></span>
<span class="line"><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">001</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">,</span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.t2,</span><span style="color:#98C379;">&quot;123\\,abc&quot;</span><span style="color:#ABB2BF;">,</span><span style="color:#D19A66;">100</span></span>
<span class="line"><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">002</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">,</span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.t1,hello world,</span><span style="color:#D19A66;">123</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="运行方法-2" tabindex="-1"><a class="header-anchor" href="#运行方法-2"><span>运行方法</span></a></h4><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" data-title="shell" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#7F848E;font-style:italic;"># Unix/OS X</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt;tools/import-csv.sh -h &lt;ip&gt; -p &lt;port&gt; -u &lt;username&gt; -pw &lt;password&gt; -f &lt;xxx.csv&gt; [-fd </span><span style="color:#56B6C2;">&lt;</span><span style="color:#ABB2BF;">./failedDirectory</span><span style="color:#56B6C2;">&gt;</span><span style="color:#ABB2BF;">] [-aligned </span><span style="color:#56B6C2;">&lt;</span><span style="color:#D19A66;">true</span><span style="color:#56B6C2;">&gt;</span><span style="color:#ABB2BF;">] [-tp </span><span style="color:#56B6C2;">&lt;</span><span style="color:#ABB2BF;">ms/ns/us</span><span style="color:#56B6C2;">&gt;</span><span style="color:#ABB2BF;">] [-typeInfer </span><span style="color:#56B6C2;">&lt;</span><span style="color:#ABB2BF;">boolean</span><span style="color:#56B6C2;">=</span><span style="color:#ABB2BF;">text,float</span><span style="color:#56B6C2;">=</span><span style="color:#ABB2BF;">double...</span><span style="color:#56B6C2;">&gt;</span><span style="color:#ABB2BF;">] [-linesPerFailedFile </span><span style="color:#56B6C2;">&lt;</span><span style="color:#ABB2BF;">int_value</span><span style="color:#56B6C2;">&gt;</span><span style="color:#ABB2BF;">]</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># Windows</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt;tools</span><span style="color:#56B6C2;">\\i</span><span style="color:#ABB2BF;">mport-csv.bat -h &lt;ip&gt; -p &lt;port&gt; -u &lt;username&gt; -pw &lt;password&gt; -f &lt;xxx.csv&gt; [-fd </span><span style="color:#56B6C2;">&lt;</span><span style="color:#ABB2BF;">./failedDirectory</span><span style="color:#56B6C2;">&gt;</span><span style="color:#ABB2BF;">] [-aligned </span><span style="color:#56B6C2;">&lt;</span><span style="color:#D19A66;">true</span><span style="color:#56B6C2;">&gt;</span><span style="color:#ABB2BF;">] [-tp </span><span style="color:#56B6C2;">&lt;</span><span style="color:#ABB2BF;">ms/ns/us</span><span style="color:#56B6C2;">&gt;</span><span style="color:#ABB2BF;">] [-typeInfer </span><span style="color:#56B6C2;">&lt;</span><span style="color:#ABB2BF;">boolean</span><span style="color:#56B6C2;">=</span><span style="color:#ABB2BF;">text,float</span><span style="color:#56B6C2;">=</span><span style="color:#ABB2BF;">double...</span><span style="color:#56B6C2;">&gt;</span><span style="color:#ABB2BF;">] [-linesPerFailedFile </span><span style="color:#56B6C2;">&lt;</span><span style="color:#ABB2BF;">int_value</span><span style="color:#56B6C2;">&gt;</span><span style="color:#ABB2BF;">]</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></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><li><p><code>-tp</code>:</p><ul><li>用于指定时间精度,可选值包括<code>ms</code>(毫秒),<code>ns</code>(纳秒),<code>us</code>(微秒),默认值为<code>ms</code>。</li></ul></li><li><p><code>-typeInfer &lt;srcTsDataType1=dstTsDataType1,srcTsDataType2=dstTsDataType2,...&gt;</code>:</p><ul><li>用于指定类型推断规则.</li><li><code>srcTsDataType</code> 包括 <code>boolean</code>,<code>int</code>,<code>long</code>,<code>float</code>,<code>double</code>,<code>NaN</code>.</li><li><code>dstTsDataType</code> 包括 <code>boolean</code>,<code>int</code>,<code>long</code>,<code>float</code>,<code>double</code>,<code>text</code>.</li><li>当<code>srcTsDataType</code>为<code>boolean</code>, <code>dstTsDataType</code>只能为<code>boolean</code>或<code>text</code>.</li><li>当<code>srcTsDataType</code>为<code>NaN</code>, <code>dstTsDataType</code>只能为<code>float</code>, <code>double</code>或<code>text</code>.</li><li>当<code>srcTsDataType</code>为数值类型, <code>dstTsDataType</code>的精度需要高于<code>srcTsDataType</code>.</li><li>例如:<code>-typeInfer boolean=text,float=double</code></li></ul></li><li><p><code>-linesPerFailedFile &lt;int&gt;</code>:</p><ul><li>用于指定每个导入失败文件写入数据的行数,默认值为10000。</li><li>例如:<code>-linesPerFailedFile 1</code></li></ul></li></ul><h4 id="运行示例-2" tabindex="-1"><a class="header-anchor" href="#运行示例-2"><span>运行示例</span></a></h4><div class="language-sh line-numbers-mode" data-highlighter="shiki" data-ext="sh" data-title="sh" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#7F848E;font-style:italic;"># Unix/OS X</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt;tools/import-csv.sh -h 127.0.0.1 -p 6667 -u root -pw root -f example-filename.csv -fd ./failed</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># or</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt;tools/import-csv.sh -h 127.0.0.1 -p 6667 -u root -pw root -f example-filename.csv -fd ./failed</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># or</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt; tools</span><span style="color:#56B6C2;">\\i</span><span style="color:#ABB2BF;">mport-csv.sh -h 127.0.0.1 -p 6667 -u root -pw root -f example-filename.csv -fd ./failed -tp ns</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># or</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt; tools</span><span style="color:#56B6C2;">\\i</span><span style="color:#ABB2BF;">mport-csv.sh -h 127.0.0.1 -p 6667 -u root -pw root -f example-filename.csv -fd ./failed -tp ns -typeInfer </span><span style="color:#E06C75;">boolean</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">text,</span><span style="color:#E06C75;">float</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">double</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># or</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt; tools</span><span style="color:#56B6C2;">\\i</span><span style="color:#ABB2BF;">mport-csv.sh -h 127.0.0.1 -p 6667 -u root -pw root -f example-filename.csv -fd ./failed -tp ns -typeInfer </span><span style="color:#E06C75;">boolean</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">text,</span><span style="color:#E06C75;">float</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">double</span><span style="color:#61AFEF;"> -linesPerFailedFile</span><span style="color:#D19A66;"> 10</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># Windows</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt;tools</span><span style="color:#56B6C2;">\\i</span><span style="color:#ABB2BF;">mport-csv.bat -h 127.0.0.1 -p 6667 -u root -pw root -f example-filename.csv</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># or</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt;tools</span><span style="color:#56B6C2;">\\i</span><span style="color:#ABB2BF;">mport-csv.bat -h 127.0.0.1 -p 6667 -u root -pw root -f example-filename.csv -fd .</span><span style="color:#56B6C2;">\\f</span><span style="color:#ABB2BF;">ailed</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># or</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt; tools</span><span style="color:#56B6C2;">\\i</span><span style="color:#ABB2BF;">mport-csv.bat -h 127.0.0.1 -p 6667 -u root -pw root -f example-filename.csv -fd .</span><span style="color:#56B6C2;">\\f</span><span style="color:#ABB2BF;">ailed -tp ns</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># or</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt; tools</span><span style="color:#56B6C2;">\\i</span><span style="color:#ABB2BF;">mport-csv.bat -h 127.0.0.1 -p 6667 -u root -pw root -f example-filename.csv -fd .</span><span style="color:#56B6C2;">\\f</span><span style="color:#ABB2BF;">ailed -tp ns -typeInfer </span><span style="color:#E06C75;">boolean</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">text,</span><span style="color:#E06C75;">float</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">double</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># or</span></span>
<span class="line"><span style="color:#ABB2BF;">&gt; tools</span><span style="color:#56B6C2;">\\i</span><span style="color:#ABB2BF;">mport-csv.bat -h 127.0.0.1 -p 6667 -u root -pw root -f example-filename.csv -fd .</span><span style="color:#56B6C2;">\\f</span><span style="color:#ABB2BF;">ailed -tp ns -typeInfer </span><span style="color:#E06C75;">boolean</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">text,</span><span style="color:#E06C75;">float</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">double</span><span style="color:#61AFEF;"> -linesPerFailedFile</span><span style="color:#D19A66;"> 10</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><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>`,88)]))}const c=l(e,[["render",p],["__file","TsFile-Import-Export-Tool.html.vue"]]),i=JSON.parse('{"path":"/zh/UserGuide/V1.3.x/Tools-System/TsFile-Import-Export-Tool.html","title":"TsFile导入导出脚本","lang":"zh-CN","frontmatter":{"description":"TsFile导入导出脚本 针对于不同场景,IoTDB 为用户提供多种批量导入数据的操作方式,本章节向大家介绍最为常用的两种方式为 CSV文本形式的导入 TsFile文件形式的导入。 TsFile 导入导出脚本 TsFile 是在 IoTDB 中使用的时间序列的文件格式,您可以通过CLI等工具直接将存有时间序列的一个或多个 TsFile 文件导入到另...","head":[["link",{"rel":"alternate","hreflang":"en-us","href":"https://iotdb.apache.org/UserGuide/V1.3.x/Tools-System/TsFile-Import-Export-Tool.html"}],["meta",{"property":"og:url","content":"https://iotdb.apache.org/zh/UserGuide/V1.3.x/Tools-System/TsFile-Import-Export-Tool.html"}],["meta",{"property":"og:site_name","content":"IoTDB Website"}],["meta",{"property":"og:title","content":"TsFile导入导出脚本"}],["meta",{"property":"og:description","content":"TsFile导入导出脚本 针对于不同场景,IoTDB 为用户提供多种批量导入数据的操作方式,本章节向大家介绍最为常用的两种方式为 CSV文本形式的导入 和 TsFile文件形式的导入。 TsFile 导入导出脚本 TsFile 是在 IoTDB 中使用的时间序列的文件格式,您可以通过CLI等工具直接将存有时间序列的一个或多个 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":"2025-02-25T11:06:36.000Z"}],["meta",{"property":"article:modified_time","content":"2025-02-25T11:06:36.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"TsFile导入导出脚本\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2025-02-25T11:06:36.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"TsFile 导入导出脚本","slug":"tsfile-导入导出脚本","link":"#tsfile-导入导出脚本","children":[{"level":3,"title":"介绍","slug":"介绍","link":"#介绍","children":[]},{"level":3,"title":"使用 SQL 加载","slug":"使用-sql-加载","link":"#使用-sql-加载","children":[]},{"level":3,"title":"使用脚本加载","slug":"使用脚本加载","link":"#使用脚本加载","children":[]}]},{"level":2,"title":"导出 TsFile","slug":"导出-tsfile","link":"#导出-tsfile","children":[{"level":3,"title":"使用 export-tsfile.sh","slug":"使用-export-tsfile-sh","link":"#使用-export-tsfile-sh","children":[]}]},{"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":1740481596000,"contributors":[{"name":"CritasWang","username":"CritasWang","email":"critas@outlook.com","commits":1,"url":"https://github.com/CritasWang"},{"name":"wanghui42","username":"wanghui42","email":"105700158+wanghui42@users.noreply.github.com","commits":2,"url":"https://github.com/wanghui42"},{"name":"shuwenwei","username":"shuwenwei","email":"55970239+shuwenwei@users.noreply.github.com","commits":1,"url":"https://github.com/shuwenwei"},{"name":"Summer","username":"Summer","email":"43237967+2b3c511@users.noreply.github.com","commits":1,"url":"https://github.com/Summer"},{"name":"2b3c511","username":"2b3c511","email":"rong.li@timecho.com","commits":1,"url":"https://github.com/2b3c511"},{"name":"石林松","username":"石林松","email":"50943998+shi10lin0s@users.noreply.github.com","commits":1,"url":"https://github.com/石林松"},{"name":"W1y1r","username":"W1y1r","email":"150988475+W1y1r@users.noreply.github.com","commits":3,"url":"https://github.com/W1y1r"}]},"readingTime":{"minutes":13.95,"words":4184},"filePathRelative":"zh/UserGuide/V1.3.x/Tools-System/TsFile-Import-Export-Tool.md","localizedDate":"2023年7月10日","autoDesc":true}');export{c as comp,i as data};