blob: ddfabd0354d3e3325478b9ea3d59b882ef381657 [file] [log] [blame]
import{_ as s,o as n,c as a,e}from"./app-Bp5kEZWW.js";const t={},o=e('<h1 id="session-and-tsfile-api" tabindex="-1"><a class="header-anchor" href="#session-and-tsfile-api"><span>Session And TsFile API</span></a></h1><p>When using the Session and TsFile APIs, if the method you call requires parameters such as measurement, device, database, path in the form of String, <strong>please ensure that the parameters passed in the input string is the same as when using the SQL statement</strong>, here are some examples to help you understand. Code example could be found at: <code>example/session/src/main/java/org/apache/iotdb/SyntaxConventionRelatedExample.java</code></p><ol><li>Take creating a time series createTimeseries as an example:</li></ol><div class="language-java line-numbers-mode" data-ext="java" data-title="java"><pre class="language-java"><code><span class="token keyword">public</span> <span class="token keyword">void</span> <span class="token function">createTimeseries</span><span class="token punctuation">(</span>\n <span class="token class-name">String</span> path<span class="token punctuation">,</span>\n <span class="token class-name">TSDataType</span> dataType<span class="token punctuation">,</span>\n <span class="token class-name">TSEncoding</span> encoding<span class="token punctuation">,</span>\n <span class="token class-name">CompressionType</span> compressor<span class="token punctuation">)</span>\n <span class="token keyword">throws</span> <span class="token class-name">IoTDBConnectionException</span><span class="token punctuation">,</span> <span class="token class-name">StatementExecutionException</span><span class="token punctuation">;</span>\n</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>If you wish to create the time series<code>root.sg.a, root.sg.`a.``&quot;b`, root.sg.`111`</code>, the SQL statement you use should look like this:</p><div class="language-sql line-numbers-mode" data-ext="sql" data-title="sql"><pre class="language-sql"><code><span class="token keyword">create</span> timeseries root<span class="token punctuation">.</span>sg<span class="token punctuation">.</span>a <span class="token keyword">with</span> datatype<span class="token operator">=</span><span class="token keyword">FLOAT</span><span class="token punctuation">,</span>encoding<span class="token operator">=</span>PLAIN<span class="token punctuation">,</span>compressor<span class="token operator">=</span>SNAPPY<span class="token punctuation">;</span>\n\n<span class="token comment"># node names contain special characters, each node in the time series is [&quot;root&quot;,&quot;sg&quot;,&quot;a.`\\&quot;b&quot;]</span>\n<span class="token keyword">create</span> timeseries root<span class="token punctuation">.</span>sg<span class="token punctuation">.</span><span class="token identifier"><span class="token punctuation">`</span>a.``&quot;b<span class="token punctuation">`</span></span> <span class="token keyword">with</span> datatype<span class="token operator">=</span><span class="token keyword">FLOAT</span><span class="token punctuation">,</span>encoding<span class="token operator">=</span>PLAIN<span class="token punctuation">,</span>compressor<span class="token operator">=</span>SNAPPY<span class="token punctuation">;</span>\n\n<span class="token comment"># node names are pure numbers</span>\n<span class="token keyword">create</span> timeseries root<span class="token punctuation">.</span>sg<span class="token punctuation">.</span><span class="token identifier"><span class="token punctuation">`</span>111<span class="token punctuation">`</span></span> <span class="token keyword">with</span> datatype<span class="token operator">=</span><span class="token keyword">FLOAT</span><span class="token punctuation">,</span>encoding<span class="token operator">=</span>PLAIN<span class="token punctuation">,</span>compressor<span class="token operator">=</span>SNAPPY<span class="token punctuation">;</span>\n</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>When you call the createTimeseries method, you should assign the path string as follows to ensure that the content of the path string is the same as when using SQL:</p><div class="language-java line-numbers-mode" data-ext="java" data-title="java"><pre class="language-java"><code><span class="token comment">// timeseries root.sg.a</span>\n<span class="token class-name">String</span> path <span class="token operator">=</span> <span class="token string">&quot;root.sg.a&quot;</span><span class="token punctuation">;</span>\n\n<span class="token comment">// timeseries root.sg.`a``&quot;b`</span>\n<span class="token class-name">String</span> path <span class="token operator">=</span> <span class="token string">&quot;root.sg.`a``\\&quot;b`&quot;</span><span class="token punctuation">;</span>\n\n<span class="token comment">// timeseries root.sg.`111`</span>\n<span class="token class-name">String</span> path <span class="token operator">=</span> <span class="token string">&quot;root.sg.`111`&quot;</span><span class="token punctuation">;</span>\n</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ol start="2"><li>Take inserting data insertRecord as an example:</li></ol><div class="language-java line-numbers-mode" data-ext="java" data-title="java"><pre class="language-java"><code><span class="token keyword">public</span> <span class="token keyword">void</span> <span class="token function">insertRecord</span><span class="token punctuation">(</span>\n <span class="token class-name">String</span> deviceId<span class="token punctuation">,</span>\n <span class="token keyword">long</span> time<span class="token punctuation">,</span>\n <span class="token class-name">List</span><span class="token generics"><span class="token punctuation">&lt;</span><span class="token class-name">String</span><span class="token punctuation">&gt;</span></span> measurements<span class="token punctuation">,</span>\n <span class="token class-name">List</span><span class="token generics"><span class="token punctuation">&lt;</span><span class="token class-name">TSDataType</span><span class="token punctuation">&gt;</span></span> types<span class="token punctuation">,</span>\n <span class="token class-name">Object</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> values<span class="token punctuation">)</span>\n <span class="token keyword">throws</span> <span class="token class-name">IoTDBConnectionException</span><span class="token punctuation">,</span> <span class="token class-name">StatementExecutionException</span><span class="token punctuation">;</span>\n</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>If you want to insert data into the time series <code>root.sg.a, root.sg.`a.``&quot;b` , root.sg.`111`</code>, the SQL statement you use should be as follows:</p><div class="language-sql line-numbers-mode" data-ext="sql" data-title="sql"><pre class="language-sql"><code><span class="token keyword">insert</span> <span class="token keyword">into</span> root<span class="token punctuation">.</span>sg<span class="token punctuation">(</span><span class="token keyword">timestamp</span><span class="token punctuation">,</span> a<span class="token punctuation">,</span> <span class="token identifier"><span class="token punctuation">`</span>a.``&quot;b<span class="token punctuation">`</span></span><span class="token punctuation">,</span> <span class="token identifier"><span class="token punctuation">`</span>111<span class="token punctuation">`</span></span><span class="token punctuation">)</span> <span class="token keyword">values</span> <span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>When you call the insertRecord method, you should assign deviceId and measurements as follows:</p><div class="language-java line-numbers-mode" data-ext="java" data-title="java"><pre class="language-java"><code><span class="token comment">// deviceId is root.sg</span>\n<span class="token class-name">String</span> deviceId <span class="token operator">=</span> <span class="token string">&quot;root.sg&quot;</span><span class="token punctuation">;</span>\n\n<span class="token comment">// measurements</span>\n<span class="token class-name">String</span><span class="token punctuation">[</span><span class="token punctuation">]</span> measurements <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">String</span><span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">{</span><span class="token string">&quot;a&quot;</span><span class="token punctuation">,</span> <span class="token string">&quot;`a.``\\&quot;b`&quot;</span><span class="token punctuation">,</span> <span class="token string">&quot;`111`&quot;</span><span class="token punctuation">}</span><span class="token punctuation">;</span>\n<span class="token class-name">List</span><span class="token generics"><span class="token punctuation">&lt;</span><span class="token class-name">String</span><span class="token punctuation">&gt;</span></span> measurementList <span class="token operator">=</span> <span class="token class-name">Arrays</span><span class="token punctuation">.</span><span class="token function">asList</span><span class="token punctuation">(</span>measurements<span class="token punctuation">)</span><span class="token punctuation">;</span>\n</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ol start="3"><li>Take executeRawDataQuery as an example:</li></ol><div class="language-java line-numbers-mode" data-ext="java" data-title="java"><pre class="language-java"><code><span class="token keyword">public</span> <span class="token class-name">SessionDataSet</span> <span class="token function">executeRawDataQuery</span><span class="token punctuation">(</span>\n <span class="token class-name">List</span><span class="token generics"><span class="token punctuation">&lt;</span><span class="token class-name">String</span><span class="token punctuation">&gt;</span></span> paths<span class="token punctuation">,</span> \n <span class="token keyword">long</span> startTime<span class="token punctuation">,</span> \n <span class="token keyword">long</span> endTime<span class="token punctuation">)</span>\n <span class="token keyword">throws</span> <span class="token class-name">StatementExecutionException</span><span class="token punctuation">,</span> <span class="token class-name">IoTDBConnectionException</span><span class="token punctuation">;</span>\n</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>If you wish to query the data of the time series <code>root.sg.a, root.sg.`a.``&quot;b`, root.sg.`111`</code>, the SQL statement you use should be as follows :</p><div class="language-sql line-numbers-mode" data-ext="sql" data-title="sql"><pre class="language-sql"><code><span class="token keyword">select</span> a <span class="token keyword">from</span> root<span class="token punctuation">.</span>sg\n\n<span class="token comment"># node name contains special characters</span>\n<span class="token keyword">select</span> <span class="token identifier"><span class="token punctuation">`</span>a.``&quot;b<span class="token punctuation">`</span></span> <span class="token keyword">from</span> root<span class="token punctuation">.</span>sg<span class="token punctuation">;</span>\n\n<span class="token comment"># node names are pure numbers</span>\n<span class="token keyword">select</span> <span class="token identifier"><span class="token punctuation">`</span>111<span class="token punctuation">`</span></span> <span class="token keyword">from</span> root<span class="token punctuation">.</span>sg\n</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>When you call the executeRawDataQuery method, you should assign paths as follows:</p><div class="language-java line-numbers-mode" data-ext="java" data-title="java"><pre class="language-java"><code><span class="token comment">// paths</span>\n<span class="token class-name">String</span><span class="token punctuation">[</span><span class="token punctuation">]</span> paths <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">String</span><span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">{</span><span class="token string">&quot;root.sg.a&quot;</span><span class="token punctuation">,</span> <span class="token string">&quot;root.sg.`a.``\\&quot;b`&quot;</span><span class="token punctuation">,</span> <span class="token string">&quot;root.sg.`111`&quot;</span><span class="token punctuation">}</span><span class="token punctuation">;</span>\n<span class="token class-name">List</span><span class="token generics"><span class="token punctuation">&lt;</span><span class="token class-name">String</span><span class="token punctuation">&gt;</span></span> pathList <span class="token operator">=</span> <span class="token class-name">Arrays</span><span class="token punctuation">.</span><span class="token function">asList</span><span class="token punctuation">(</span>paths<span class="token punctuation">)</span><span class="token punctuation">;</span>\n</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div>',20),p=[o];function i(c,l){return n(),a("div",null,p)}const r=s(t,[["render",i],["__file","Session-And-TsFile-API.html.vue"]]),d=JSON.parse('{"path":"/UserGuide/V1.1.x/Syntax-Conventions/Session-And-TsFile-API.html","title":"Session And TsFile API","lang":"en-US","frontmatter":{"description":"Session And TsFile API When using the Session and TsFile APIs, if the method you call requires parameters such as measurement, device, database, path in the form of String, plea...","head":[["link",{"rel":"alternate","hreflang":"zh-cn","href":"https://iotdb.apache.org/zh/UserGuide/V1.1.x/Syntax-Conventions/Session-And-TsFile-API.html"}],["meta",{"property":"og:url","content":"https://iotdb.apache.org/UserGuide/V1.1.x/Syntax-Conventions/Session-And-TsFile-API.html"}],["meta",{"property":"og:site_name","content":"IoTDB Website"}],["meta",{"property":"og:title","content":"Session And TsFile API"}],["meta",{"property":"og:description","content":"Session And TsFile API When using the Session and TsFile APIs, if the method you call requires parameters such as measurement, device, database, path in the form of String, plea..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:locale:alternate","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2023-07-28T10:43:40.000Z"}],["meta",{"property":"article:modified_time","content":"2023-07-28T10:43:40.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Session And TsFile API\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-07-28T10:43:40.000Z\\",\\"author\\":[]}"]]},"headers":[],"git":{"createdTime":1688958677000,"updatedTime":1690541020000,"contributors":[{"name":"CritasWang","email":"critas@outlook.com","commits":1},{"name":"wanghui42","email":"105700158+wanghui42@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":1.79,"words":538},"filePathRelative":"UserGuide/V1.1.x/Syntax-Conventions/Session-And-TsFile-API.md","localizedDate":"July 10, 2023","autoDesc":true}');export{r as comp,d as data};