| import{_ as a}from"./Data-import2-BZF6IR58.js";import{_ as o,c as l,b as n,o as e}from"./app-BJ81rGGe.js";const t={};function p(r,s){return e(),l("div",null,s[0]||(s[0]=[n(`<h1 id="data-import" tabindex="-1"><a class="header-anchor" href="#data-import"><span>Data Import</span></a></h1><h2 id="_1-overview" tabindex="-1"><a class="header-anchor" href="#_1-overview"><span>1. Overview</span></a></h2><p>IoTDB supports two methods for data import:</p><ul><li>Data Import Tool: Use the <a href="http://import-data.sh" target="_blank" rel="noopener noreferrer">import-data.sh</a> (Unix/OS X) or import-data.bat (Windows) script in the tools directory to manually import CSV, SQL, or TsFile (open-source time-series file format) data into IoTDB.</li><li>TsFile Auto-Loading Feature</li></ul><table style="text-align:left;"><tbody><tr><th>File Format</th><th>IoTDB Tool</th><th>Description</th></tr><tr><td>CSV</td><td rowspan="3">import-data.sh/bat</td><td>Can be used for single or batch import of CSV files into IoTDB</td></tr><tr><td>SQL</td><td>Can be used for single or batch import of SQL files into IoTDB</td></tr><tr><td rowspan="2">TsFile</td><td>Can be used for single or batch import of TsFile files into IoTDB</td></tr><tr><td>TsFile Auto-Loading Feature</td><td>Can automatically monitor a specified directory for newly generated TsFiles and load them into IoTDB.</td></tr></tbody></table><h2 id="_2-data-import-tool" tabindex="-1"><a class="header-anchor" href="#_2-data-import-tool"><span>2. Data Import Tool</span></a></h2><h3 id="_2-1-common-parameters" tabindex="-1"><a class="header-anchor" href="#_2-1-common-parameters"><span>2.1 Common Parameters</span></a></h3><table><thead><tr><th>Short</th><th>Full Parameter</th><th>Description</th><th>Required</th><th>Default</th></tr></thead><tbody><tr><td><code>-ft</code></td><td><code>--file_type</code></td><td>File type: <code>csv</code>, <code>sql</code>, <code>tsfile</code>.</td><td><strong>Yes</strong></td><td>-</td></tr><tr><td><code>-h</code></td><td><code>--host</code></td><td>IoTDB server hostname.</td><td>No</td><td><code>127.0.0.1</code></td></tr><tr><td><code>-p</code></td><td><code>--port</code></td><td>IoTDB server port.</td><td>No</td><td><code>6667</code></td></tr><tr><td><code>-u</code></td><td><code>--username</code></td><td>Username.</td><td>No</td><td><code>root</code></td></tr><tr><td><code>-pw</code></td><td><code>--password</code></td><td>Password.</td><td>No</td><td><code>root</code></td></tr><tr><td><code>-s</code></td><td><code>--source</code></td><td>Local path to the file/directory to import. <strong>Supported formats</strong>: CSV, SQL, TsFile. Unsupported formats trigger error: <code>The file name must end with "csv", "sql", or "tsfile"!</code></td><td><strong>Yes</strong></td><td>-</td></tr><tr><td><code>-tn</code></td><td><code>--thread_num</code></td><td>Maximum parallel threads</td><td>No</td><td><code>8</code> <br> Range: 0 to Integer.Max(2147483647).</td></tr><tr><td><code>-tz</code></td><td><code>--timezone</code></td><td>Timezone (e.g., <code>+08:00</code>, <code>-01:00</code>).</td><td>No</td><td>System default</td></tr><tr><td><code>-help</code></td><td><code>--help</code></td><td>Display help (general or format-specific: <code>-help csv</code>).</td><td>No</td><td>-</td></tr></tbody></table><h3 id="_2-2-csv-format" tabindex="-1"><a class="header-anchor" href="#_2-2-csv-format"><span>2.2 CSV Format</span></a></h3><h4 id="_2-2-1-command" tabindex="-1"><a class="header-anchor" href="#_2-2-1-command"><span>2.2.1 Command</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;">> tools/import-data.sh -ft<format> [-h </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">host</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;">] [-p </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">port</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;">] [-u </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">username</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;">] [-pw </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">password</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;">]</span></span> |
| <span class="line"><span style="color:#61AFEF;"> -s</span><span style="color:#ABB2BF;"> <</span><span style="color:#98C379;">sourc</span><span style="color:#ABB2BF;">e> [-fd <</span><span style="color:#98C379;">fail_di</span><span style="color:#ABB2BF;">r></span><span style="color:#98C379;">]</span><span style="color:#ABB2BF;"> [-lpf <</span><span style="color:#98C379;">lines_per_failed_fil</span><span style="color:#ABB2BF;">e></span><span style="color:#98C379;">]</span><span style="color:#ABB2BF;"> [-aligned <</span><span style="color:#98C379;">use</span><span style="color:#98C379;"> the</span><span style="color:#98C379;"> aligned</span><span style="color:#98C379;"> interfac</span><span style="color:#ABB2BF;">e></span><span style="color:#98C379;">]</span><span style="color:#ABB2BF;"> </span></span> |
| <span class="line"><span style="color:#ABB2BF;"> [-ti </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">type_infer</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;">] [-tp </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">timestamp precision (</span><span style="color:#E06C75;">ms</span><span style="color:#56B6C2;">/</span><span style="color:#E06C75;">us</span><span style="color:#56B6C2;">/</span><span style="color:#E06C75;">ns</span><span style="color:#ABB2BF;">)</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;">] [-tz </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">timezone</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;">] [-batch </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">batch_size</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;">] </span></span> |
| <span class="line"><span style="color:#ABB2BF;"> [-tn </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">thread_num</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;">]</span></span> |
| <span class="line"><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;">> tools</span><span style="color:#56B6C2;">\\i</span><span style="color:#ABB2BF;">mport-data.bat -ft<format> [-h </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">host</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;">] [-p </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">port</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;">] [-u </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">username</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;">] [-pw </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">password</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;">]</span></span> |
| <span class="line"><span style="color:#61AFEF;"> -s</span><span style="color:#ABB2BF;"> <</span><span style="color:#98C379;">sourc</span><span style="color:#ABB2BF;">e> [-fd <</span><span style="color:#98C379;">fail_di</span><span style="color:#ABB2BF;">r></span><span style="color:#98C379;">]</span><span style="color:#ABB2BF;"> [-lpf <</span><span style="color:#98C379;">lines_per_failed_fil</span><span style="color:#ABB2BF;">e></span><span style="color:#98C379;">]</span><span style="color:#ABB2BF;"> [-aligned <</span><span style="color:#98C379;">use</span><span style="color:#98C379;"> the</span><span style="color:#98C379;"> aligned</span><span style="color:#98C379;"> interfac</span><span style="color:#ABB2BF;">e></span><span style="color:#98C379;">]</span><span style="color:#ABB2BF;"> </span></span> |
| <span class="line"><span style="color:#ABB2BF;"> [-ti </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">type_infer</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;">] [-tp </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">timestamp precision (</span><span style="color:#E06C75;">ms</span><span style="color:#56B6C2;">/</span><span style="color:#E06C75;">us</span><span style="color:#56B6C2;">/</span><span style="color:#E06C75;">ns</span><span style="color:#ABB2BF;">)</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;">] [-tz </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">timezone</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;">] [-batch </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">batch_size</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;">] </span></span> |
| <span class="line"><span style="color:#ABB2BF;"> [-tn </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">thread_num</span><span style="color:#56B6C2;">></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 class="line-number"></div><div class="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-2-2-csv-specific-parameters" tabindex="-1"><a class="header-anchor" href="#_2-2-2-csv-specific-parameters"><span>2.2.2 CSV-Specific Parameters</span></a></h4><table><thead><tr><th>Short</th><th>Full Parameter</th><th>Description</th><th>Required</th><th>Default</th></tr></thead><tbody><tr><td><code>-fd</code></td><td><code>--fail_dir</code></td><td>Directory to save failed files.</td><td>No</td><td>YOUR_CSV_FILE_PATH</td></tr><tr><td><code>-lpf</code></td><td><code>--lines_per_failed_file</code></td><td>Max lines per failed file.</td><td>No</td><td><code>100000</code> <br> Range: 0 to Integer.Max(2147483647).</td></tr><tr><td><code>-aligned</code></td><td><code>--use_aligned</code></td><td>Import as aligned time series.</td><td>No</td><td><code>false</code></td></tr><tr><td><code>-batch</code></td><td><code>--batch_size</code></td><td>Rows processed per API call.</td><td>No</td><td><code>100000</code> <br> Range: 0 to Integer.Max(2147483647).</td></tr><tr><td><code>-ti</code></td><td><code>--type_infer</code></td><td>Type mapping (e.g., <code>BOOLEAN=text,INT=long</code>).</td><td>No</td><td>-</td></tr><tr><td><code>-tp</code></td><td><code>--timestamp_precision</code></td><td>Timestamp precision: <code>ms</code>, <code>us</code>, <code>ns</code>.</td><td>No</td><td><code>ms</code></td></tr></tbody></table><h4 id="_2-2-3-examples" tabindex="-1"><a class="header-anchor" href="#_2-2-3-examples"><span>2.2.3 Examples</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;"># Valid Example</span></span> |
| <span class="line"><span style="color:#ABB2BF;">> tools/import-data.sh -ft csv -h 127.0.0.1 -p 6667 -u root -pw root -s /path/sql </span></span> |
| <span class="line"><span style="color:#61AFEF;"> -fd</span><span style="color:#98C379;"> /path/failure/dir</span><span style="color:#D19A66;"> -lpf</span><span style="color:#D19A66;"> 100</span><span style="color:#D19A66;"> -aligned</span><span style="color:#D19A66;"> true</span><span style="color:#D19A66;"> -ti</span><span style="color:#98C379;"> "BOOLEAN=text,INT=long,FLOAT=double"</span><span style="color:#ABB2BF;"> </span></span> |
| <span class="line"><span style="color:#61AFEF;"> -tp</span><span style="color:#98C379;"> ms</span><span style="color:#D19A66;"> -tz</span><span style="color:#98C379;"> +08:00</span><span style="color:#D19A66;"> -batch</span><span style="color:#D19A66;"> 5000</span><span style="color:#D19A66;"> -tn</span><span style="color:#D19A66;"> 4</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> </span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"># Error Example</span></span> |
| <span class="line"><span style="color:#ABB2BF;">> tools/import-data.sh -ft csv -s /non_path</span></span> |
| <span class="line"><span style="color:#61AFEF;">error:</span><span style="color:#98C379;"> Source</span><span style="color:#98C379;"> file</span><span style="color:#98C379;"> or</span><span style="color:#98C379;"> directory</span><span style="color:#98C379;"> /non_path</span><span style="color:#98C379;"> does</span><span style="color:#98C379;"> not</span><span style="color:#98C379;"> exist</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#ABB2BF;">> tools/import-data.sh -ft csv -s /path/sql -tn 0</span></span> |
| <span class="line"><span style="color:#61AFEF;">error:</span><span style="color:#98C379;"> Invalid</span><span style="color:#98C379;"> thread</span><span style="color:#98C379;"> number</span><span style="color:#98C379;"> '0'.</span><span style="color:#98C379;"> Please</span><span style="color:#98C379;"> set</span><span style="color:#98C379;"> a</span><span style="color:#98C379;"> positive</span><span style="color:#98C379;"> integer.</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></div><h4 id="_2-2-4-import-notes" tabindex="-1"><a class="header-anchor" href="#_2-2-4-import-notes"><span>2.2.4 Import Notes</span></a></h4><ol><li>CSV Import Specifications</li></ol><ul><li>Special Character Escaping Rules: If a text-type field contains special characters (e.g., commas ,), they must be escaped using a backslash ().</li><li>Supported Time Formats: yyyy-MM-dd'T'HH:mm:ss, yyyy-MM-dd HH:mm:ss, or yyyy-MM-dd'T'HH:mm:ss.SSSZ.</li><li>Timestamp Column Requirement: The timestamp column must be the first column in the data file.</li></ul><ol start="2"><li>CSV File Example</li></ol><ul><li>Time Alignment</li></ul><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:#7F848E;font-style:italic;">-- Headers without data types</span></span> |
| <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;">var</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;">"123hello world"</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">"123\\,abc"</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;">"123"</span><span style="color:#ABB2BF;">,,</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;">-- Headers with data types (Text-type data supports both quoted and unquoted formats)</span></span> |
| <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;">var</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;">"123hello world"</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">"123\\,abc"</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;">"123"</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 class="line-number"></div><div class="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><ul><li>Device Alignment</li></ul><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:#7F848E;font-style:italic;">-- Headers without data types</span></span> |
| <span class="line"><span style="color:#C678DD;">Time</span><span style="color:#ABB2BF;">,Device,str,var</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;">"123hello world"</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;">"123"</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;">"123\\,abc"</span><span style="color:#ABB2BF;">,</span><span style="color:#D19A66;">100</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;">-- Headers with data types (Text-type data supports both quoted and unquoted formats)</span></span> |
| <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:#56B6C2;">var</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;">"123hello world"</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;">"123"</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;">"123\\,abc"</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 class="line-number"></div><div class="line-number"></div><div class="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><h3 id="_2-3-sql-format" tabindex="-1"><a class="header-anchor" href="#_2-3-sql-format"><span>2.3 SQL Format</span></a></h3><h4 id="_2-3-1-command" tabindex="-1"><a class="header-anchor" href="#_2-3-1-command"><span>2.3.1 Command</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;">> tools/import-data.sh -ft<format> [-h </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">host</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;">] [-p </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">port</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;">] [-u </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">username</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;">] [-pw </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">password</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;">] </span></span> |
| <span class="line"><span style="color:#61AFEF;"> -s</span><span style="color:#ABB2BF;"><source> [-fd <</span><span style="color:#98C379;">fail_di</span><span style="color:#ABB2BF;">r></span><span style="color:#98C379;">]</span><span style="color:#ABB2BF;"> [-lpf <</span><span style="color:#98C379;">lines_per_failed_fil</span><span style="color:#ABB2BF;">e></span><span style="color:#98C379;">]</span><span style="color:#ABB2BF;"> [-tz <</span><span style="color:#98C379;">timezon</span><span style="color:#ABB2BF;">e></span><span style="color:#98C379;">]</span><span style="color:#ABB2BF;"> </span></span> |
| <span class="line"><span style="color:#ABB2BF;"> [-batch </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">batch_size</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;">] [-tn </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">thread_num</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;">]</span></span> |
| <span class="line"><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;">> tools</span><span style="color:#56B6C2;">\\i</span><span style="color:#ABB2BF;">mport-data.bat -ft<format> [-h </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">host</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;">] [-p </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">port</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;">] [-u </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">username</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;">] [-pw </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">password</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;">] </span></span> |
| <span class="line"><span style="color:#61AFEF;"> -s</span><span style="color:#ABB2BF;"><source> [-fd <</span><span style="color:#98C379;">fail_di</span><span style="color:#ABB2BF;">r></span><span style="color:#98C379;">]</span><span style="color:#ABB2BF;"> [-lpf <</span><span style="color:#98C379;">lines_per_failed_fil</span><span style="color:#ABB2BF;">e></span><span style="color:#98C379;">]</span><span style="color:#ABB2BF;"> [-tz <</span><span style="color:#98C379;">timezon</span><span style="color:#ABB2BF;">e></span><span style="color:#98C379;">]</span><span style="color:#ABB2BF;"> </span></span> |
| <span class="line"><span style="color:#ABB2BF;"> [-batch </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">batch_size</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;">] [-tn </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">thread_num</span><span style="color:#56B6C2;">></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 class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="_2-3-2-sql-specific-parameters" tabindex="-1"><a class="header-anchor" href="#_2-3-2-sql-specific-parameters"><span>2.3.2 SQL-Specific Parameters</span></a></h4><table><thead><tr><th>Short</th><th>Full Parameter</th><th>Description</th><th>Required</th><th>Default</th></tr></thead><tbody><tr><td><code>-fd</code></td><td><code>--fail_dir</code></td><td>Directory to save failed files.</td><td>No</td><td>YOUR_CSV_FILE_PATH</td></tr><tr><td><code>-lpf</code></td><td><code>--lines_per_failed_file</code></td><td>Max lines per failed file.</td><td>No</td><td><code>100000</code> <br> Range: 0 to Integer.Max(2147483647).</td></tr><tr><td><code>-batch</code></td><td><code>--batch_size</code></td><td>Rows processed per API call.</td><td>No</td><td><code>100000</code> <br> Range: 0 to Integer.Max(2147483647).</td></tr></tbody></table><h4 id="_2-3-3-examples" tabindex="-1"><a class="header-anchor" href="#_2-3-3-examples"><span>2.3.3 Examples</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;"># Valid Example</span></span> |
| <span class="line"><span style="color:#ABB2BF;">> tools/import-data.sh -ft sql -h 127.0.0.1 -p 6667 -u root -pw root -s /path/sql </span></span> |
| <span class="line"><span style="color:#61AFEF;"> -fd</span><span style="color:#98C379;"> /path/failure/dir</span><span style="color:#D19A66;"> -lpf</span><span style="color:#D19A66;"> 500</span><span style="color:#D19A66;"> -tz</span><span style="color:#98C379;"> +08:00</span><span style="color:#ABB2BF;"> </span></span> |
| <span class="line"><span style="color:#61AFEF;"> -batch</span><span style="color:#D19A66;"> 100000</span><span style="color:#D19A66;"> -tn</span><span style="color:#D19A66;"> 4</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> </span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"># Error Example</span></span> |
| <span class="line"><span style="color:#ABB2BF;">> tools/import-data.sh -ft sql -s /path/sql -fd /non_path</span></span> |
| <span class="line"><span style="color:#61AFEF;">error:</span><span style="color:#98C379;"> Source</span><span style="color:#98C379;"> file</span><span style="color:#98C379;"> or</span><span style="color:#98C379;"> directory</span><span style="color:#98C379;"> /path/sql</span><span style="color:#98C379;"> does</span><span style="color:#98C379;"> not</span><span style="color:#98C379;"> exist</span></span> |
| <span class="line"></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#ABB2BF;">> tools/import-data.sh -ft sql -s /path/sql -tn 0</span></span> |
| <span class="line"><span style="color:#61AFEF;">error:</span><span style="color:#98C379;"> Invalid</span><span style="color:#98C379;"> thread</span><span style="color:#98C379;"> number</span><span style="color:#98C379;"> '0'.</span><span style="color:#98C379;"> Please</span><span style="color:#98C379;"> set</span><span style="color:#98C379;"> a</span><span style="color:#98C379;"> positive</span><span style="color:#98C379;"> integer.</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></div><h3 id="_2-4-tsfile-format" tabindex="-1"><a class="header-anchor" href="#_2-4-tsfile-format"><span>2.4 TsFile Format</span></a></h3><h4 id="_2-4-1-command" tabindex="-1"><a class="header-anchor" href="#_2-4-1-command"><span>2.4.1 Command</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;">> tools/import-data.sh -ft <format> [-h </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">host</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;">] [-p </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">port</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;">] [-u </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">username</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;">] [-pw </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">password</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;">] </span></span> |
| <span class="line"><span style="color:#61AFEF;"> -s</span><span style="color:#ABB2BF;"> <</span><span style="color:#98C379;">sourc</span><span style="color:#ABB2BF;">e> </span><span style="color:#D19A66;">-os</span><span style="color:#ABB2BF;"> <</span><span style="color:#98C379;">on_succes</span><span style="color:#ABB2BF;">s> [-sd <</span><span style="color:#98C379;">success_di</span><span style="color:#ABB2BF;">r></span><span style="color:#98C379;">]</span><span style="color:#D19A66;"> -of</span><span style="color:#ABB2BF;"> <</span><span style="color:#98C379;">on_fai</span><span style="color:#ABB2BF;">l> [-fd <</span><span style="color:#98C379;">fail_di</span><span style="color:#ABB2BF;">r></span><span style="color:#98C379;">]</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> [-tn </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">thread_num</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;"> ] [-tz </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">timezone</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;">] [-tp </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">timestamp precision (</span><span style="color:#E06C75;">ms</span><span style="color:#56B6C2;">/</span><span style="color:#E06C75;">us</span><span style="color:#56B6C2;">/</span><span style="color:#E06C75;">ns</span><span style="color:#ABB2BF;">)</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;">]</span></span> |
| <span class="line"><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;">> tools</span><span style="color:#56B6C2;">\\i</span><span style="color:#ABB2BF;">mport-data.bat -ft <format> [-h </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">host</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;">] [-p </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">port</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;">] [-u </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">username</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;">] [-pw </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">password</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;">] </span></span> |
| <span class="line"><span style="color:#61AFEF;"> -s</span><span style="color:#ABB2BF;"> <</span><span style="color:#98C379;">sourc</span><span style="color:#ABB2BF;">e> </span><span style="color:#D19A66;">-os</span><span style="color:#ABB2BF;"> <</span><span style="color:#98C379;">on_succes</span><span style="color:#ABB2BF;">s> [-sd <</span><span style="color:#98C379;">success_di</span><span style="color:#ABB2BF;">r></span><span style="color:#98C379;">]</span><span style="color:#D19A66;"> -of</span><span style="color:#ABB2BF;"> <</span><span style="color:#98C379;">on_fai</span><span style="color:#ABB2BF;">l> [-fd <</span><span style="color:#98C379;">fail_di</span><span style="color:#ABB2BF;">r></span><span style="color:#98C379;">]</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> [-tn </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">thread_num</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;"> ] [-tz </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">timezone</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;">] [-tp </span><span style="color:#56B6C2;"><</span><span style="color:#ABB2BF;">timestamp precision (</span><span style="color:#E06C75;">ms</span><span style="color:#56B6C2;">/</span><span style="color:#E06C75;">us</span><span style="color:#56B6C2;">/</span><span style="color:#E06C75;">ns</span><span style="color:#ABB2BF;">)</span><span style="color:#56B6C2;">></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 class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="_2-4-2-tsfile-specific-parameters" tabindex="-1"><a class="header-anchor" href="#_2-4-2-tsfile-specific-parameters"><span>2.4.2 TsFile-Specific Parameters</span></a></h4><table><thead><tr><th>Short</th><th>Full Parameter</th><th>Description</th><th>Required</th><th>Default</th></tr></thead><tbody><tr><td><code>-os</code></td><td><code>--on_success</code></td><td>Action for successful files:<br> <code>none</code>: Do not delete the file.<br> <code>mv</code>: Move the successful file to the target directory.<br> <code>cp</code>:Create a hard link (copy) of the successful file to the target directory.<br> <code>delete</code>:Delete the file.</td><td><strong>Yes</strong></td><td>-</td></tr><tr><td><code>-sd</code></td><td><code>--success_dir</code></td><td>Target directory for <code>mv</code>/<code>cp</code> actions on success. Required if <code>-os</code> is <code>mv</code>/<code>cp</code>. The file name will be flattened and concatenated with the original file name.</td><td>Conditional</td><td><code>\${EXEC_DIR}/success</code></td></tr><tr><td><code>-of</code></td><td><code>--on_fail</code></td><td>Action for failed files:<br> <code>none</code>:Skip the file.<br> <code>mv</code>:Move the failed file to the target directory.<br> <code>cp</code>:Create a hard link (copy) of the failed file to the target directory.<br> <code>delete</code>:Delete the file..</td><td><strong>Yes</strong></td><td>-</td></tr><tr><td><code>-fd</code></td><td><code>--fail_dir</code></td><td>Target directory for <code>mv</code>/<code>cp</code> actions on failure. Required if <code>-of</code> is <code>mv</code>/<code>cp</code>. The file name will be flattened and concatenated with the original file name.</td><td>Conditional</td><td><code>\${EXEC_DIR}/fail</code></td></tr><tr><td><code>-tp</code></td><td><code>--timestamp_precision</code></td><td>TsFile timestamp precision: <code>ms</code>, <code>us</code>, <code>ns</code>. <br> For non-remote TsFile imports: Use -tp to specify the timestamp precision of the TsFile. The system will manually verify if the timestamp precision matches the server. If it does not match, an error will be returned. <br> For remote TsFile imports: Use -tp to specify the timestamp precision of the TsFile. The Pipe system will automatically verify if the timestamp precision matches. If it does not match, a Pipe error will be returned.</td><td>No</td><td><code>ms</code></td></tr></tbody></table><h4 id="_2-4-3-examples" tabindex="-1"><a class="header-anchor" href="#_2-4-3-examples"><span>2.4.3 Examples</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;"># Valid Example</span></span> |
| <span class="line"><span style="color:#ABB2BF;">> tools/import-data.sh -ft tsfile -h 127.0.0.1 -p 6667 -u root -pw root </span></span> |
| <span class="line"><span style="color:#61AFEF;"> -s</span><span style="color:#98C379;"> /path/sql</span><span style="color:#D19A66;"> -os</span><span style="color:#98C379;"> mv</span><span style="color:#D19A66;"> -of</span><span style="color:#98C379;"> cp</span><span style="color:#D19A66;"> -sd</span><span style="color:#98C379;"> /path/success/dir</span><span style="color:#D19A66;"> -fd</span><span style="color:#98C379;"> /path/failure/dir</span><span style="color:#ABB2BF;"> </span></span> |
| <span class="line"><span style="color:#61AFEF;"> -tn</span><span style="color:#D19A66;"> 8</span><span style="color:#D19A66;"> -tz</span><span style="color:#98C379;"> +08:00</span><span style="color:#D19A66;"> -tp</span><span style="color:#98C379;"> ms</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> </span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"># Error Example</span></span> |
| <span class="line"><span style="color:#ABB2BF;">> tools/import-data.sh -ft tsfile -s /path/sql -os mv -of cp </span></span> |
| <span class="line"><span style="color:#61AFEF;"> -fd</span><span style="color:#98C379;"> /path/failure/dir</span><span style="color:#D19A66;"> -tn</span><span style="color:#D19A66;"> 8</span><span style="color:#ABB2BF;"> </span></span> |
| <span class="line"><span style="color:#61AFEF;">error:</span><span style="color:#98C379;"> Missing</span><span style="color:#98C379;"> option</span><span style="color:#D19A66;"> --success_dir</span><span style="color:#ABB2BF;"> (or </span><span style="color:#D19A66;">-sd</span><span style="color:#ABB2BF;">) when --on_success is </span><span style="color:#98C379;">'mv'</span><span style="color:#ABB2BF;"> or </span><span style="color:#98C379;">'cp'</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#ABB2BF;">> tools/import-data.sh -ft tsfile -s /path/sql -os mv -of cp </span></span> |
| <span class="line"><span style="color:#61AFEF;"> -sd</span><span style="color:#98C379;"> /path/success/dir</span><span style="color:#D19A66;"> -fd</span><span style="color:#98C379;"> /path/failure/dir</span><span style="color:#D19A66;"> -tn</span><span style="color:#D19A66;"> 0</span><span style="color:#ABB2BF;"> </span></span> |
| <span class="line"><span style="color:#61AFEF;">error:</span><span style="color:#98C379;"> Invalid</span><span style="color:#98C379;"> thread</span><span style="color:#98C379;"> number</span><span style="color:#98C379;"> '0'.</span><span style="color:#98C379;"> Please</span><span style="color:#98C379;"> set</span><span style="color:#98C379;"> a</span><span style="color:#98C379;"> positive</span><span style="color:#98C379;"> integer.</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></div><h2 id="_3-tsfile-auto-loading" tabindex="-1"><a class="header-anchor" href="#_3-tsfile-auto-loading"><span>3. TsFile Auto-Loading</span></a></h2><p>This feature enables IoTDB to automatically monitor a specified directory for new TsFiles and load them into the database without manual intervention.</p><figure><img src="`+a+'" alt="" tabindex="0" loading="lazy"><figcaption></figcaption></figure><h3 id="_3-1-configuration" tabindex="-1"><a class="header-anchor" href="#_3-1-configuration"><span>3.1 Configuration</span></a></h3><p>Add the following parameters to <code>iotdb-system.properties</code> (template: <code>iotdb-system.properties.template</code>):</p><table><thead><tr><th>Parameter</th><th>Description</th><th>Value Range</th><th>Required</th><th>Default</th><th>Hot-Load?</th></tr></thead><tbody><tr><td><code>load_active_listening_enable</code></td><td>Enable auto-loading.</td><td><code>true</code>/<code>false</code></td><td>Optional</td><td><code>true</code></td><td>Yes</td></tr><tr><td><code>load_active_listening_dirs</code></td><td>Directories to monitor (subdirectories included). Multiple paths separated by commas.</td><td>String</td><td>Optional</td><td><code>ext/load/pending</code></td><td>Yes</td></tr><tr><td><code>load_active_listening_fail_dir</code></td><td>Directory to store failed TsFiles. Only can set one.</td><td>String</td><td>Optional</td><td><code>ext/load/failed</code></td><td>Yes</td></tr><tr><td><code>load_active_listening_max_thread_num</code></td><td>Maximum Threads for TsFile Loading Tasks:The default value for this parameter, when commented out, is max(1, CPU cores / 2). If the value set by the user falls outside the range [1, CPU cores / 2], it will be reset to the default value of max(1, CPU cores / 2).</td><td><code>1</code> to <code>Long.MAX_VALUE</code></td><td>Optional</td><td><code>max(1, CPU_CORES / 2)</code></td><td>No (restart required)</td></tr><tr><td><code>load_active_listening_check_interval_seconds</code></td><td>Active Listening Polling Interval (in seconds):The active listening feature for TsFiles is implemented through polling the target directory. This configuration specifies the time interval between two consecutive checks of the <code>load_active_listening_dirs</code>. After each check, the next check will be performed after <code>load_active_listening_check_interval_seconds</code> seconds. If the polling interval set by the user is less than 1, it will be reset to the default value of 5 seconds.</td><td><code>1</code> to <code>Long.MAX_VALUE</code></td><td>Optional</td><td><code>5</code></td><td>No (restart required)</td></tr></tbody></table><h3 id="_3-2-notes" tabindex="-1"><a class="header-anchor" href="#_3-2-notes"><span>3.2 Notes</span></a></h3><ol><li><strong>Mods Files</strong>: If TsFiles have associated <code>.mods</code> files, move <code>.mods</code> files to the monitored directory <strong>before</strong> their corresponding TsFiles. Ensure <code>.mods</code> and TsFiles are in the same directory.</li><li><strong>Restricted Directories</strong>: Do NOT set Pipe receiver directories, data directories, or other system paths as monitored directories.</li><li><strong>Directory Conflicts</strong>: Ensure <code>load_active_listening_fail_dir</code> does not overlap with <code>load_active_listening_dirs</code> or its subdirectories.</li><li><strong>Permissions</strong>: The monitored directory must have write permissions. Files are deleted after successful loading; insufficient permissions may cause duplicate loading.</li></ol>',45)]))}const d=o(t,[["render",p],["__file","Data-Import-Tool-1-3-4.html.vue"]]),B=JSON.parse('{"path":"/UserGuide/dev-1.3/Tools-System/Data-Import-Tool-1-3-4.html","title":"Data Import","lang":"en-US","frontmatter":{"description":"Data Import 1. Overview IoTDB supports two methods for data import: Data Import Tool: Use the import-data.sh (Unix/OS X) or import-data.bat (Windows) script in the tools directo...","head":[["link",{"rel":"alternate","hreflang":"zh-cn","href":"https://iotdb.apache.org/zh/UserGuide/dev-1.3/Tools-System/Data-Import-Tool-1-3-4.html"}],["meta",{"property":"og:url","content":"https://iotdb.apache.org/UserGuide/dev-1.3/Tools-System/Data-Import-Tool-1-3-4.html"}],["meta",{"property":"og:site_name","content":"IoTDB Website"}],["meta",{"property":"og:title","content":"Data Import"}],["meta",{"property":"og:description","content":"Data Import 1. Overview IoTDB supports two methods for data import: Data Import Tool: Use the import-data.sh (Unix/OS X) or import-data.bat (Windows) script in the tools directo..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:image","content":"https://iotdb.apache.org/img/Data-import2.png"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:locale:alternate","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2025-04-03T09:29:44.000Z"}],["meta",{"property":"article:modified_time","content":"2025-04-03T09:29:44.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Data Import\\",\\"image\\":[\\"https://iotdb.apache.org/img/Data-import2.png\\"],\\"dateModified\\":\\"2025-04-03T09:29:44.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"1. Overview","slug":"_1-overview","link":"#_1-overview","children":[]},{"level":2,"title":"2. Data Import Tool","slug":"_2-data-import-tool","link":"#_2-data-import-tool","children":[{"level":3,"title":"2.1 Common Parameters","slug":"_2-1-common-parameters","link":"#_2-1-common-parameters","children":[]},{"level":3,"title":"2.2 CSV Format","slug":"_2-2-csv-format","link":"#_2-2-csv-format","children":[]},{"level":3,"title":"2.3 SQL Format","slug":"_2-3-sql-format","link":"#_2-3-sql-format","children":[]},{"level":3,"title":"2.4 TsFile Format","slug":"_2-4-tsfile-format","link":"#_2-4-tsfile-format","children":[]}]},{"level":2,"title":"3. TsFile Auto-Loading","slug":"_3-tsfile-auto-loading","link":"#_3-tsfile-auto-loading","children":[{"level":3,"title":"3.1 Configuration","slug":"_3-1-configuration","link":"#_3-1-configuration","children":[]},{"level":3,"title":"3.2 Notes","slug":"_3-2-notes","link":"#_3-2-notes","children":[]}]}],"git":{"createdTime":1741840069000,"updatedTime":1743672584000,"contributors":[{"name":"leto-b","username":"leto-b","email":"bingqian.bai@timecho.com","commits":2,"url":"https://github.com/leto-b"}]},"readingTime":{"minutes":5.61,"words":1682},"filePathRelative":"UserGuide/dev-1.3/Tools-System/Data-Import-Tool-1-3-4.md","localizedDate":"March 13, 2025","autoDesc":true}');export{d as comp,B as data}; |