blob: a8178c089386d6284a83e984914bcc4f1338ce40 [file] [log] [blame]
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title> </title>
<meta name="generator" content="VuePress 1.9.7">
<link rel="icon" href="/favicon.ico">
<script async="true" src="https://www.googletagmanager.com/gtag/js?id=G-5MM3J6X84E"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-5MM3J6X84E');</script>
<meta name="description" content=" ">
<meta name="Description" content="Apache IoTDB: Time Series Database for IoT">
<meta name="Keywords" content="TSDB, time series, time series database, IoTDB, IoT database, IoT data management,时序数据库, 时间序列管理, IoTDB, 物联网数据库, 实时数据库, 物联网数据管理, 物联网数据">
<meta name="baidu-site-verification" content="wfKETzB3OT">
<meta name="google-site-verification" content="mZWAoRY0yj_HAr-s47zHCGHzx5Ju-RVm5wDbPnwQYFo">
<link rel="preload" href="/assets/css/0.styles.ec12723d.css" as="style"><link rel="preload" href="/assets/js/app.be0ba21e.js" as="script"><link rel="preload" href="/assets/js/3.c8384d0b.js" as="script"><link rel="preload" href="/assets/js/278.0d0b6326.js" as="script"><link rel="prefetch" href="/assets/js/10.54d4b62d.js"><link rel="prefetch" href="/assets/js/100.9ee5e815.js"><link rel="prefetch" href="/assets/js/101.ff0ca28c.js"><link rel="prefetch" href="/assets/js/102.62857654.js"><link rel="prefetch" href="/assets/js/103.f385436b.js"><link rel="prefetch" href="/assets/js/104.ba3433b1.js"><link rel="prefetch" href="/assets/js/105.d32d33c2.js"><link rel="prefetch" href="/assets/js/106.48cd0f80.js"><link rel="prefetch" href="/assets/js/107.285a95ae.js"><link rel="prefetch" href="/assets/js/108.b2bce4c7.js"><link rel="prefetch" href="/assets/js/109.d899f396.js"><link rel="prefetch" href="/assets/js/11.5a68a084.js"><link rel="prefetch" href="/assets/js/110.eaaba716.js"><link rel="prefetch" href="/assets/js/111.fe5861ac.js"><link rel="prefetch" href="/assets/js/112.05645029.js"><link rel="prefetch" href="/assets/js/113.e9309ceb.js"><link rel="prefetch" href="/assets/js/114.c9b469ce.js"><link rel="prefetch" href="/assets/js/115.0cfb03e4.js"><link rel="prefetch" href="/assets/js/116.b0fc0026.js"><link rel="prefetch" href="/assets/js/117.ace35466.js"><link rel="prefetch" href="/assets/js/118.f40badef.js"><link rel="prefetch" href="/assets/js/119.e206ed58.js"><link rel="prefetch" href="/assets/js/12.096f9ea1.js"><link rel="prefetch" href="/assets/js/120.cbfd3da6.js"><link rel="prefetch" href="/assets/js/121.f9361175.js"><link rel="prefetch" href="/assets/js/122.e7df58f6.js"><link rel="prefetch" href="/assets/js/123.b2c251f7.js"><link rel="prefetch" href="/assets/js/124.18977b68.js"><link rel="prefetch" href="/assets/js/125.53b6a02a.js"><link rel="prefetch" href="/assets/js/126.1cc51f08.js"><link rel="prefetch" href="/assets/js/127.f553bef7.js"><link rel="prefetch" href="/assets/js/128.10836b63.js"><link rel="prefetch" href="/assets/js/129.a1196737.js"><link rel="prefetch" href="/assets/js/13.df40e287.js"><link rel="prefetch" href="/assets/js/130.3e887cf0.js"><link rel="prefetch" href="/assets/js/131.4688eb45.js"><link rel="prefetch" href="/assets/js/132.48f04f00.js"><link rel="prefetch" href="/assets/js/133.4c7f005c.js"><link rel="prefetch" href="/assets/js/134.f8adb2e3.js"><link rel="prefetch" href="/assets/js/135.842d624c.js"><link rel="prefetch" href="/assets/js/136.cbe5cdef.js"><link rel="prefetch" href="/assets/js/137.dfb96a7b.js"><link rel="prefetch" href="/assets/js/138.d48d6e34.js"><link rel="prefetch" href="/assets/js/139.314bb35d.js"><link rel="prefetch" href="/assets/js/14.fb4e8035.js"><link rel="prefetch" href="/assets/js/140.d97462e3.js"><link rel="prefetch" href="/assets/js/141.ef75dfbf.js"><link rel="prefetch" href="/assets/js/142.262098aa.js"><link rel="prefetch" href="/assets/js/143.8e4bae4a.js"><link rel="prefetch" href="/assets/js/144.7bc0fd35.js"><link rel="prefetch" href="/assets/js/145.a6b496d4.js"><link rel="prefetch" href="/assets/js/146.6684fa92.js"><link rel="prefetch" href="/assets/js/147.a0920b0a.js"><link rel="prefetch" href="/assets/js/148.20cc1ee1.js"><link rel="prefetch" href="/assets/js/149.1b7948de.js"><link rel="prefetch" href="/assets/js/15.6c0fd5c9.js"><link rel="prefetch" href="/assets/js/150.bc30e806.js"><link rel="prefetch" href="/assets/js/151.dffa289b.js"><link rel="prefetch" href="/assets/js/152.dd417062.js"><link rel="prefetch" href="/assets/js/153.fab5a3f2.js"><link rel="prefetch" href="/assets/js/154.a2a22d4a.js"><link rel="prefetch" href="/assets/js/155.ffad7826.js"><link rel="prefetch" href="/assets/js/156.58c8f07c.js"><link rel="prefetch" href="/assets/js/157.5234f902.js"><link rel="prefetch" href="/assets/js/158.3bfa3695.js"><link rel="prefetch" href="/assets/js/159.5fd73c15.js"><link rel="prefetch" href="/assets/js/16.2873cd48.js"><link rel="prefetch" href="/assets/js/160.1e167ae6.js"><link rel="prefetch" href="/assets/js/161.9d2f3091.js"><link rel="prefetch" href="/assets/js/162.aae58b9c.js"><link rel="prefetch" href="/assets/js/163.c19ee9cd.js"><link rel="prefetch" href="/assets/js/164.9d1843b5.js"><link rel="prefetch" href="/assets/js/165.8b4c3474.js"><link rel="prefetch" href="/assets/js/166.d472a4b9.js"><link rel="prefetch" href="/assets/js/167.1407a35f.js"><link rel="prefetch" href="/assets/js/168.9d47073f.js"><link rel="prefetch" href="/assets/js/169.a092c385.js"><link rel="prefetch" href="/assets/js/17.e18d8f9a.js"><link rel="prefetch" href="/assets/js/170.a6921c9f.js"><link rel="prefetch" href="/assets/js/171.b5f81b6b.js"><link rel="prefetch" href="/assets/js/172.3e8a4489.js"><link rel="prefetch" href="/assets/js/173.a504956a.js"><link rel="prefetch" href="/assets/js/174.cd60011a.js"><link rel="prefetch" href="/assets/js/175.7fc01793.js"><link rel="prefetch" href="/assets/js/176.740f00f1.js"><link rel="prefetch" href="/assets/js/177.e6f399b7.js"><link rel="prefetch" href="/assets/js/178.3a0fd22c.js"><link rel="prefetch" href="/assets/js/179.b66e04f8.js"><link rel="prefetch" href="/assets/js/18.8c2382dd.js"><link rel="prefetch" href="/assets/js/180.71e4a602.js"><link rel="prefetch" href="/assets/js/181.72d02e77.js"><link rel="prefetch" href="/assets/js/182.2623dd9c.js"><link rel="prefetch" href="/assets/js/183.04c008fb.js"><link rel="prefetch" href="/assets/js/184.224afa69.js"><link rel="prefetch" href="/assets/js/185.906feba4.js"><link rel="prefetch" href="/assets/js/186.c26cfdb6.js"><link rel="prefetch" href="/assets/js/187.a1886fdf.js"><link rel="prefetch" href="/assets/js/188.e77a4fae.js"><link rel="prefetch" href="/assets/js/189.2a08e4b8.js"><link rel="prefetch" href="/assets/js/19.38eb3f0c.js"><link rel="prefetch" href="/assets/js/190.1a609937.js"><link rel="prefetch" href="/assets/js/191.54b47d43.js"><link rel="prefetch" href="/assets/js/192.4aaa099f.js"><link rel="prefetch" href="/assets/js/193.bc35c254.js"><link rel="prefetch" href="/assets/js/194.a7523feb.js"><link rel="prefetch" href="/assets/js/195.adc55706.js"><link rel="prefetch" href="/assets/js/196.52fd22b5.js"><link rel="prefetch" href="/assets/js/197.1c77813e.js"><link rel="prefetch" href="/assets/js/198.32e01a8d.js"><link rel="prefetch" href="/assets/js/199.3e0abf3e.js"><link rel="prefetch" href="/assets/js/20.ca527d69.js"><link rel="prefetch" href="/assets/js/200.a27cbbfd.js"><link rel="prefetch" href="/assets/js/201.dde60fda.js"><link rel="prefetch" href="/assets/js/202.c19fcd94.js"><link rel="prefetch" href="/assets/js/203.623d3e7e.js"><link rel="prefetch" href="/assets/js/204.15464f81.js"><link rel="prefetch" href="/assets/js/205.94103cb9.js"><link rel="prefetch" href="/assets/js/206.b5f6aa86.js"><link rel="prefetch" href="/assets/js/207.f8495fd9.js"><link rel="prefetch" href="/assets/js/208.9ea670f3.js"><link rel="prefetch" href="/assets/js/209.32832223.js"><link rel="prefetch" href="/assets/js/21.90e2637f.js"><link rel="prefetch" href="/assets/js/210.0bad8463.js"><link rel="prefetch" href="/assets/js/211.ba88b490.js"><link rel="prefetch" href="/assets/js/212.79c6ba09.js"><link rel="prefetch" href="/assets/js/213.d58b04e8.js"><link rel="prefetch" href="/assets/js/214.d73a8cae.js"><link rel="prefetch" href="/assets/js/215.8a3c1199.js"><link rel="prefetch" href="/assets/js/216.0804526e.js"><link rel="prefetch" href="/assets/js/217.77a827cf.js"><link rel="prefetch" href="/assets/js/218.bac02884.js"><link rel="prefetch" href="/assets/js/219.44ff806e.js"><link rel="prefetch" href="/assets/js/22.1458fea3.js"><link rel="prefetch" href="/assets/js/220.19ced483.js"><link rel="prefetch" href="/assets/js/221.1868e0de.js"><link rel="prefetch" href="/assets/js/222.ad89f4bd.js"><link rel="prefetch" href="/assets/js/223.17ae4f39.js"><link rel="prefetch" href="/assets/js/224.ccd329de.js"><link rel="prefetch" href="/assets/js/225.7d7dd86f.js"><link rel="prefetch" href="/assets/js/226.8e9ece28.js"><link rel="prefetch" href="/assets/js/227.80fed706.js"><link rel="prefetch" href="/assets/js/228.7c137465.js"><link rel="prefetch" href="/assets/js/229.472d4eed.js"><link rel="prefetch" href="/assets/js/23.13e404e2.js"><link rel="prefetch" href="/assets/js/230.3a690e8f.js"><link rel="prefetch" href="/assets/js/231.d22445c1.js"><link rel="prefetch" href="/assets/js/232.9f184aec.js"><link rel="prefetch" href="/assets/js/233.99e988bd.js"><link rel="prefetch" href="/assets/js/234.16406068.js"><link rel="prefetch" href="/assets/js/235.df0a81f1.js"><link rel="prefetch" href="/assets/js/236.084feb36.js"><link rel="prefetch" href="/assets/js/237.e2467a79.js"><link rel="prefetch" href="/assets/js/238.ed8c79e0.js"><link rel="prefetch" href="/assets/js/239.d0b3e05e.js"><link rel="prefetch" href="/assets/js/24.4852a2d6.js"><link rel="prefetch" href="/assets/js/240.2f48571e.js"><link rel="prefetch" href="/assets/js/241.f568040a.js"><link rel="prefetch" href="/assets/js/242.0eb939a3.js"><link rel="prefetch" href="/assets/js/243.072b0151.js"><link rel="prefetch" href="/assets/js/244.9e0ca90b.js"><link rel="prefetch" href="/assets/js/245.666fef64.js"><link rel="prefetch" href="/assets/js/246.8756fd80.js"><link rel="prefetch" href="/assets/js/247.54c56843.js"><link rel="prefetch" href="/assets/js/248.4be7c441.js"><link rel="prefetch" href="/assets/js/249.da456746.js"><link rel="prefetch" href="/assets/js/25.57e15cd9.js"><link rel="prefetch" href="/assets/js/250.61a46bdc.js"><link rel="prefetch" href="/assets/js/251.0a9b990e.js"><link rel="prefetch" href="/assets/js/252.6712dc54.js"><link rel="prefetch" href="/assets/js/253.94145090.js"><link rel="prefetch" href="/assets/js/254.97f9d2bb.js"><link rel="prefetch" href="/assets/js/255.0598e864.js"><link rel="prefetch" href="/assets/js/256.cacf0e2d.js"><link rel="prefetch" href="/assets/js/257.9cdf48ea.js"><link rel="prefetch" href="/assets/js/258.b85c5e66.js"><link rel="prefetch" href="/assets/js/259.c8fa0602.js"><link rel="prefetch" href="/assets/js/26.6a90e3b6.js"><link rel="prefetch" href="/assets/js/260.4447a842.js"><link rel="prefetch" href="/assets/js/261.c51d74d6.js"><link rel="prefetch" href="/assets/js/262.f2fb1560.js"><link rel="prefetch" href="/assets/js/263.461c2a7e.js"><link rel="prefetch" href="/assets/js/264.0e560c77.js"><link rel="prefetch" href="/assets/js/265.786031a2.js"><link rel="prefetch" href="/assets/js/266.a4857396.js"><link rel="prefetch" href="/assets/js/267.3310d39e.js"><link rel="prefetch" href="/assets/js/268.6d1de6f2.js"><link rel="prefetch" href="/assets/js/269.585d7bdb.js"><link rel="prefetch" href="/assets/js/27.00aa1fa2.js"><link rel="prefetch" href="/assets/js/270.07498a47.js"><link rel="prefetch" href="/assets/js/271.3867f734.js"><link rel="prefetch" href="/assets/js/272.12e33674.js"><link rel="prefetch" href="/assets/js/273.15913103.js"><link rel="prefetch" href="/assets/js/274.b4f2d9fb.js"><link rel="prefetch" href="/assets/js/275.fcfdcbef.js"><link rel="prefetch" href="/assets/js/276.10d5d81e.js"><link rel="prefetch" href="/assets/js/277.463cef90.js"><link rel="prefetch" href="/assets/js/279.4c1a50c9.js"><link rel="prefetch" href="/assets/js/28.22eb7233.js"><link rel="prefetch" href="/assets/js/280.7b8d918a.js"><link rel="prefetch" href="/assets/js/281.14a36022.js"><link rel="prefetch" href="/assets/js/282.35a75d2d.js"><link rel="prefetch" href="/assets/js/283.6896b13b.js"><link rel="prefetch" href="/assets/js/284.88f02360.js"><link rel="prefetch" href="/assets/js/285.f6b068ff.js"><link rel="prefetch" href="/assets/js/286.cea68bd4.js"><link rel="prefetch" href="/assets/js/287.091e080f.js"><link rel="prefetch" href="/assets/js/288.e1e2553f.js"><link rel="prefetch" href="/assets/js/289.d4e6e54c.js"><link rel="prefetch" href="/assets/js/29.f88772d9.js"><link rel="prefetch" href="/assets/js/290.be9128b9.js"><link rel="prefetch" href="/assets/js/291.04126d34.js"><link rel="prefetch" href="/assets/js/292.5877aa19.js"><link rel="prefetch" href="/assets/js/293.39d99527.js"><link rel="prefetch" href="/assets/js/294.055e5c28.js"><link rel="prefetch" href="/assets/js/295.2c5797fd.js"><link rel="prefetch" href="/assets/js/296.482a9119.js"><link rel="prefetch" href="/assets/js/297.eb75bee8.js"><link rel="prefetch" href="/assets/js/298.8d902978.js"><link rel="prefetch" href="/assets/js/299.3fac8eae.js"><link rel="prefetch" href="/assets/js/30.19aa62af.js"><link rel="prefetch" href="/assets/js/300.8adce705.js"><link rel="prefetch" href="/assets/js/301.504e6834.js"><link rel="prefetch" href="/assets/js/302.5f3a07a0.js"><link rel="prefetch" href="/assets/js/303.ebbeebe5.js"><link rel="prefetch" href="/assets/js/304.b8345160.js"><link rel="prefetch" href="/assets/js/305.76714e7f.js"><link rel="prefetch" href="/assets/js/306.5a581530.js"><link rel="prefetch" href="/assets/js/307.e769546c.js"><link rel="prefetch" href="/assets/js/308.2938acba.js"><link rel="prefetch" href="/assets/js/309.382ff2ce.js"><link rel="prefetch" href="/assets/js/31.bcb37260.js"><link rel="prefetch" href="/assets/js/310.8c8ea29c.js"><link rel="prefetch" href="/assets/js/311.51d85cdf.js"><link rel="prefetch" href="/assets/js/312.4632e525.js"><link rel="prefetch" href="/assets/js/313.628bb41a.js"><link rel="prefetch" href="/assets/js/314.c311471e.js"><link rel="prefetch" href="/assets/js/315.fd3c394d.js"><link rel="prefetch" href="/assets/js/316.0876f14a.js"><link rel="prefetch" href="/assets/js/317.a0b79558.js"><link rel="prefetch" href="/assets/js/318.754116b0.js"><link rel="prefetch" href="/assets/js/319.93dad0d3.js"><link rel="prefetch" href="/assets/js/32.eb4ee17f.js"><link rel="prefetch" href="/assets/js/320.69bf0186.js"><link rel="prefetch" href="/assets/js/321.2f43f620.js"><link rel="prefetch" href="/assets/js/322.b3afbf42.js"><link rel="prefetch" href="/assets/js/323.e423eaf1.js"><link rel="prefetch" href="/assets/js/324.97d71b51.js"><link rel="prefetch" href="/assets/js/325.71c81295.js"><link rel="prefetch" href="/assets/js/326.7c13d83b.js"><link rel="prefetch" href="/assets/js/327.9024940d.js"><link rel="prefetch" href="/assets/js/328.7e76f291.js"><link rel="prefetch" href="/assets/js/329.65a9f1b0.js"><link rel="prefetch" href="/assets/js/33.d5aa3ede.js"><link rel="prefetch" href="/assets/js/330.9c467583.js"><link rel="prefetch" href="/assets/js/331.9804cce8.js"><link rel="prefetch" href="/assets/js/332.94edf4a2.js"><link rel="prefetch" href="/assets/js/333.8b6e11c0.js"><link rel="prefetch" href="/assets/js/334.0ae6f29e.js"><link rel="prefetch" href="/assets/js/335.27475a99.js"><link rel="prefetch" href="/assets/js/336.4bb88a3d.js"><link rel="prefetch" href="/assets/js/337.a014524a.js"><link rel="prefetch" href="/assets/js/338.7363c9c0.js"><link rel="prefetch" href="/assets/js/339.8ea3acb6.js"><link rel="prefetch" href="/assets/js/34.e76969c6.js"><link rel="prefetch" href="/assets/js/340.0b91967f.js"><link rel="prefetch" href="/assets/js/341.362c72a7.js"><link rel="prefetch" href="/assets/js/342.ebd183e6.js"><link rel="prefetch" href="/assets/js/343.8cdb6124.js"><link rel="prefetch" href="/assets/js/344.7c890f62.js"><link rel="prefetch" href="/assets/js/345.8fd9ab0c.js"><link rel="prefetch" href="/assets/js/346.01a0c12f.js"><link rel="prefetch" href="/assets/js/347.dea35cbf.js"><link rel="prefetch" href="/assets/js/348.850b4d05.js"><link rel="prefetch" href="/assets/js/349.916c7b6f.js"><link rel="prefetch" href="/assets/js/35.3469233d.js"><link rel="prefetch" href="/assets/js/350.08c4f8a7.js"><link rel="prefetch" href="/assets/js/351.f03f609a.js"><link rel="prefetch" href="/assets/js/352.6750412f.js"><link rel="prefetch" href="/assets/js/353.fbe4609f.js"><link rel="prefetch" href="/assets/js/354.4a955e5a.js"><link rel="prefetch" href="/assets/js/355.5932d6ac.js"><link rel="prefetch" href="/assets/js/356.449f4e5a.js"><link rel="prefetch" href="/assets/js/357.ded1e2de.js"><link rel="prefetch" href="/assets/js/358.6ca37f82.js"><link rel="prefetch" href="/assets/js/359.94bc1a90.js"><link rel="prefetch" href="/assets/js/36.639aca68.js"><link rel="prefetch" href="/assets/js/360.888bba26.js"><link rel="prefetch" href="/assets/js/361.c1580dff.js"><link rel="prefetch" href="/assets/js/362.71940454.js"><link rel="prefetch" href="/assets/js/363.66ca7fa9.js"><link rel="prefetch" href="/assets/js/364.0c58f8df.js"><link rel="prefetch" href="/assets/js/365.ac6094c9.js"><link rel="prefetch" href="/assets/js/366.aa1b9d9b.js"><link rel="prefetch" href="/assets/js/367.ced257a0.js"><link rel="prefetch" href="/assets/js/368.ff4c91b8.js"><link rel="prefetch" href="/assets/js/369.e8af14ef.js"><link rel="prefetch" href="/assets/js/37.0d5e0417.js"><link rel="prefetch" href="/assets/js/370.6e8bd9a9.js"><link rel="prefetch" href="/assets/js/371.34d1dabf.js"><link rel="prefetch" href="/assets/js/372.8a0b32ed.js"><link rel="prefetch" href="/assets/js/373.c0dea55a.js"><link rel="prefetch" href="/assets/js/374.338f33e1.js"><link rel="prefetch" href="/assets/js/375.c691dd38.js"><link rel="prefetch" href="/assets/js/376.9849bf77.js"><link rel="prefetch" href="/assets/js/377.8e765a58.js"><link rel="prefetch" href="/assets/js/378.ac72626b.js"><link rel="prefetch" href="/assets/js/379.9d02865b.js"><link rel="prefetch" href="/assets/js/38.d2c916f8.js"><link rel="prefetch" href="/assets/js/380.f6fbfe10.js"><link rel="prefetch" href="/assets/js/381.fcdc1c7d.js"><link rel="prefetch" href="/assets/js/382.5dbb1fcb.js"><link rel="prefetch" href="/assets/js/383.c75c7f4f.js"><link rel="prefetch" href="/assets/js/384.96a6a902.js"><link rel="prefetch" href="/assets/js/385.4b0f713f.js"><link rel="prefetch" href="/assets/js/386.8e769cdd.js"><link rel="prefetch" href="/assets/js/387.ecd8614c.js"><link rel="prefetch" href="/assets/js/388.781dbf10.js"><link rel="prefetch" href="/assets/js/389.6ae55a6c.js"><link rel="prefetch" href="/assets/js/39.67659022.js"><link rel="prefetch" href="/assets/js/390.3469e3d3.js"><link rel="prefetch" href="/assets/js/391.b9be2bdf.js"><link rel="prefetch" href="/assets/js/392.af553655.js"><link rel="prefetch" href="/assets/js/393.201af6a2.js"><link rel="prefetch" href="/assets/js/394.2ddf9491.js"><link rel="prefetch" href="/assets/js/395.dee38d35.js"><link rel="prefetch" href="/assets/js/396.31163637.js"><link rel="prefetch" href="/assets/js/397.4ae0e6e8.js"><link rel="prefetch" href="/assets/js/398.8a26dbce.js"><link rel="prefetch" href="/assets/js/399.9c2ae177.js"><link rel="prefetch" href="/assets/js/4.d36f1b75.js"><link rel="prefetch" href="/assets/js/40.0ecc4770.js"><link rel="prefetch" href="/assets/js/400.10042762.js"><link rel="prefetch" href="/assets/js/401.a45eaac8.js"><link rel="prefetch" href="/assets/js/402.8fe6b7b9.js"><link rel="prefetch" href="/assets/js/403.d5c13dca.js"><link rel="prefetch" href="/assets/js/404.483204ac.js"><link rel="prefetch" href="/assets/js/405.970d4ad6.js"><link rel="prefetch" href="/assets/js/406.25772ddd.js"><link rel="prefetch" href="/assets/js/407.de973031.js"><link rel="prefetch" href="/assets/js/408.35e4b3af.js"><link rel="prefetch" href="/assets/js/409.49a03d7b.js"><link rel="prefetch" href="/assets/js/41.4f5d71cc.js"><link rel="prefetch" href="/assets/js/410.786be60b.js"><link rel="prefetch" href="/assets/js/411.2610103f.js"><link rel="prefetch" href="/assets/js/412.f7829c55.js"><link rel="prefetch" href="/assets/js/413.c456f79a.js"><link rel="prefetch" href="/assets/js/414.2c70d393.js"><link rel="prefetch" href="/assets/js/415.b5ae9acc.js"><link rel="prefetch" href="/assets/js/416.d3b111fd.js"><link rel="prefetch" href="/assets/js/417.a9b86f39.js"><link rel="prefetch" href="/assets/js/418.f50a8a4a.js"><link rel="prefetch" href="/assets/js/419.c2fc1966.js"><link rel="prefetch" href="/assets/js/42.abc01b89.js"><link rel="prefetch" href="/assets/js/420.06268d62.js"><link rel="prefetch" href="/assets/js/421.988dd2c3.js"><link rel="prefetch" href="/assets/js/422.e5d813b5.js"><link rel="prefetch" href="/assets/js/423.72556a08.js"><link rel="prefetch" href="/assets/js/424.e6b53e18.js"><link rel="prefetch" href="/assets/js/425.dace73eb.js"><link rel="prefetch" href="/assets/js/426.a73759ff.js"><link rel="prefetch" href="/assets/js/427.6d0e6fb3.js"><link rel="prefetch" href="/assets/js/428.0832df5b.js"><link rel="prefetch" href="/assets/js/429.2743346f.js"><link rel="prefetch" href="/assets/js/43.8dd85ee8.js"><link rel="prefetch" href="/assets/js/430.7e8119e6.js"><link rel="prefetch" href="/assets/js/431.c4d17361.js"><link rel="prefetch" href="/assets/js/432.8da3af6a.js"><link rel="prefetch" href="/assets/js/433.cd398e9d.js"><link rel="prefetch" href="/assets/js/434.4b0df073.js"><link rel="prefetch" href="/assets/js/435.b84edc5b.js"><link rel="prefetch" href="/assets/js/436.1f6af4f1.js"><link rel="prefetch" href="/assets/js/437.10bfbb06.js"><link rel="prefetch" href="/assets/js/438.b5d073d6.js"><link rel="prefetch" href="/assets/js/439.4adbc584.js"><link rel="prefetch" href="/assets/js/44.12989a0c.js"><link rel="prefetch" href="/assets/js/440.c4cdef93.js"><link rel="prefetch" href="/assets/js/441.0f527efe.js"><link rel="prefetch" href="/assets/js/442.bd24ae9a.js"><link rel="prefetch" href="/assets/js/443.7ab16b7c.js"><link rel="prefetch" href="/assets/js/444.d601bd42.js"><link rel="prefetch" href="/assets/js/445.27719799.js"><link rel="prefetch" href="/assets/js/446.33e26389.js"><link rel="prefetch" href="/assets/js/447.f5093a5a.js"><link rel="prefetch" href="/assets/js/448.8c919d47.js"><link rel="prefetch" href="/assets/js/449.32035dcb.js"><link rel="prefetch" href="/assets/js/45.b4375d8a.js"><link rel="prefetch" href="/assets/js/450.08d47c7f.js"><link rel="prefetch" href="/assets/js/451.dd8870a3.js"><link rel="prefetch" href="/assets/js/452.af5f30c2.js"><link rel="prefetch" href="/assets/js/453.3b72e41e.js"><link rel="prefetch" href="/assets/js/454.f5972e98.js"><link rel="prefetch" href="/assets/js/455.465ffe7e.js"><link rel="prefetch" href="/assets/js/456.124c9e20.js"><link rel="prefetch" href="/assets/js/457.e24710f9.js"><link rel="prefetch" href="/assets/js/458.5d17a9f0.js"><link rel="prefetch" href="/assets/js/459.67151df4.js"><link rel="prefetch" href="/assets/js/46.b91500fc.js"><link rel="prefetch" href="/assets/js/460.58ffe542.js"><link rel="prefetch" href="/assets/js/461.fc8a447f.js"><link rel="prefetch" href="/assets/js/462.48dbbb3f.js"><link rel="prefetch" href="/assets/js/463.72a720f1.js"><link rel="prefetch" href="/assets/js/464.4c20089e.js"><link rel="prefetch" href="/assets/js/465.8847f98a.js"><link rel="prefetch" href="/assets/js/466.9a9a5774.js"><link rel="prefetch" href="/assets/js/467.08489299.js"><link rel="prefetch" href="/assets/js/468.97248a91.js"><link rel="prefetch" href="/assets/js/469.bfce5b9a.js"><link rel="prefetch" href="/assets/js/47.9a36fddf.js"><link rel="prefetch" href="/assets/js/470.2077b435.js"><link rel="prefetch" href="/assets/js/471.5e7bb9ae.js"><link rel="prefetch" href="/assets/js/472.2226c215.js"><link rel="prefetch" href="/assets/js/473.1af988b9.js"><link rel="prefetch" href="/assets/js/474.39409760.js"><link rel="prefetch" href="/assets/js/475.511dce07.js"><link rel="prefetch" href="/assets/js/476.51f77f3a.js"><link rel="prefetch" href="/assets/js/477.33e7b216.js"><link rel="prefetch" href="/assets/js/478.63e53a2b.js"><link rel="prefetch" href="/assets/js/479.a1d2cd08.js"><link rel="prefetch" href="/assets/js/48.2536cf0e.js"><link rel="prefetch" href="/assets/js/480.1c491a7f.js"><link rel="prefetch" href="/assets/js/481.c266db00.js"><link rel="prefetch" href="/assets/js/482.b709b637.js"><link rel="prefetch" href="/assets/js/483.e075b70d.js"><link rel="prefetch" href="/assets/js/484.0541d65f.js"><link rel="prefetch" href="/assets/js/485.ce59bf82.js"><link rel="prefetch" href="/assets/js/486.122cbceb.js"><link rel="prefetch" href="/assets/js/487.67abde68.js"><link rel="prefetch" href="/assets/js/488.27232857.js"><link rel="prefetch" href="/assets/js/489.804fa6d4.js"><link rel="prefetch" href="/assets/js/49.9541b826.js"><link rel="prefetch" href="/assets/js/490.166d4d19.js"><link rel="prefetch" href="/assets/js/491.c7ebe60e.js"><link rel="prefetch" href="/assets/js/492.b79ebf13.js"><link rel="prefetch" href="/assets/js/493.94e212fc.js"><link rel="prefetch" href="/assets/js/494.f313067a.js"><link rel="prefetch" href="/assets/js/495.2224197f.js"><link rel="prefetch" href="/assets/js/496.68fb923a.js"><link rel="prefetch" href="/assets/js/497.fb3df3f8.js"><link rel="prefetch" href="/assets/js/498.12e8ed9d.js"><link rel="prefetch" href="/assets/js/499.0063c485.js"><link rel="prefetch" href="/assets/js/5.3ba0c25b.js"><link rel="prefetch" href="/assets/js/50.6bf6ce2c.js"><link rel="prefetch" href="/assets/js/500.f480bab4.js"><link rel="prefetch" href="/assets/js/501.4898cc4e.js"><link rel="prefetch" href="/assets/js/502.a9f1b3cf.js"><link rel="prefetch" href="/assets/js/503.4affa726.js"><link rel="prefetch" href="/assets/js/504.0a415b10.js"><link rel="prefetch" href="/assets/js/505.b08ea71e.js"><link rel="prefetch" href="/assets/js/506.9980e672.js"><link rel="prefetch" href="/assets/js/507.2cb04382.js"><link rel="prefetch" href="/assets/js/508.ef611fd1.js"><link rel="prefetch" href="/assets/js/509.c3d59ef2.js"><link rel="prefetch" href="/assets/js/51.36ebf098.js"><link rel="prefetch" href="/assets/js/510.9b7f8661.js"><link rel="prefetch" href="/assets/js/511.870315b9.js"><link rel="prefetch" href="/assets/js/512.a3ac0811.js"><link rel="prefetch" href="/assets/js/513.af7179db.js"><link rel="prefetch" href="/assets/js/514.6d46eadb.js"><link rel="prefetch" href="/assets/js/515.f4fd20bf.js"><link rel="prefetch" href="/assets/js/516.6b7e112f.js"><link rel="prefetch" href="/assets/js/517.ecaff84e.js"><link rel="prefetch" href="/assets/js/518.2581aabc.js"><link rel="prefetch" href="/assets/js/519.f8293bef.js"><link rel="prefetch" href="/assets/js/52.04cb62ae.js"><link rel="prefetch" href="/assets/js/520.2116f0cb.js"><link rel="prefetch" href="/assets/js/521.3da7e920.js"><link rel="prefetch" href="/assets/js/522.73ccb4e7.js"><link rel="prefetch" href="/assets/js/523.f21c16b4.js"><link rel="prefetch" href="/assets/js/524.9d611c28.js"><link rel="prefetch" href="/assets/js/525.2bc5eea1.js"><link rel="prefetch" href="/assets/js/526.2803a6a2.js"><link rel="prefetch" href="/assets/js/527.329be7eb.js"><link rel="prefetch" href="/assets/js/528.e39dcd4a.js"><link rel="prefetch" href="/assets/js/529.b752271c.js"><link rel="prefetch" href="/assets/js/53.924d88ce.js"><link rel="prefetch" href="/assets/js/530.1fd59581.js"><link rel="prefetch" href="/assets/js/531.9b2a5954.js"><link rel="prefetch" href="/assets/js/532.f04386d8.js"><link rel="prefetch" href="/assets/js/533.2f5b29af.js"><link rel="prefetch" href="/assets/js/534.9398c18b.js"><link rel="prefetch" href="/assets/js/535.9d4b73de.js"><link rel="prefetch" href="/assets/js/536.0c7aece9.js"><link rel="prefetch" href="/assets/js/537.90b0ae4a.js"><link rel="prefetch" href="/assets/js/538.ea0f2c79.js"><link rel="prefetch" href="/assets/js/539.73e64ea4.js"><link rel="prefetch" href="/assets/js/54.0857206e.js"><link rel="prefetch" href="/assets/js/540.232eb404.js"><link rel="prefetch" href="/assets/js/541.0ab1d6f7.js"><link rel="prefetch" href="/assets/js/542.ff7d25aa.js"><link rel="prefetch" href="/assets/js/543.4657a420.js"><link rel="prefetch" href="/assets/js/544.b39a7f7a.js"><link rel="prefetch" href="/assets/js/545.36bea72b.js"><link rel="prefetch" href="/assets/js/546.5ba4302a.js"><link rel="prefetch" href="/assets/js/547.b781be37.js"><link rel="prefetch" href="/assets/js/548.f5ccb3d8.js"><link rel="prefetch" href="/assets/js/549.92b7a2ca.js"><link rel="prefetch" href="/assets/js/55.bc30fa15.js"><link rel="prefetch" href="/assets/js/550.0dab65b8.js"><link rel="prefetch" href="/assets/js/551.878167e6.js"><link rel="prefetch" href="/assets/js/552.b3f0883e.js"><link rel="prefetch" href="/assets/js/553.8d2d1f14.js"><link rel="prefetch" href="/assets/js/554.055e4540.js"><link rel="prefetch" href="/assets/js/555.6eda9d85.js"><link rel="prefetch" href="/assets/js/556.2bc687f1.js"><link rel="prefetch" href="/assets/js/557.d453ebc5.js"><link rel="prefetch" href="/assets/js/558.5d0ad5d1.js"><link rel="prefetch" href="/assets/js/559.106473f3.js"><link rel="prefetch" href="/assets/js/56.89a20008.js"><link rel="prefetch" href="/assets/js/560.30b039b0.js"><link rel="prefetch" href="/assets/js/561.1e170648.js"><link rel="prefetch" href="/assets/js/562.a8b79e90.js"><link rel="prefetch" href="/assets/js/563.14efcb86.js"><link rel="prefetch" href="/assets/js/564.1a4bc8a8.js"><link rel="prefetch" href="/assets/js/565.323ffb2b.js"><link rel="prefetch" href="/assets/js/566.4964388e.js"><link rel="prefetch" href="/assets/js/567.2ab99354.js"><link rel="prefetch" href="/assets/js/568.29c64692.js"><link rel="prefetch" href="/assets/js/569.1c83c9da.js"><link rel="prefetch" href="/assets/js/57.38b3b016.js"><link rel="prefetch" href="/assets/js/570.6717c333.js"><link rel="prefetch" href="/assets/js/571.c95ce6d6.js"><link rel="prefetch" href="/assets/js/572.767e2908.js"><link rel="prefetch" href="/assets/js/573.5cbd801a.js"><link rel="prefetch" href="/assets/js/574.1b45bd2b.js"><link rel="prefetch" href="/assets/js/575.65d870c3.js"><link rel="prefetch" href="/assets/js/576.7c486ffd.js"><link rel="prefetch" href="/assets/js/577.8ddf9949.js"><link rel="prefetch" href="/assets/js/578.696dbc9f.js"><link rel="prefetch" href="/assets/js/579.1bccbe34.js"><link rel="prefetch" href="/assets/js/58.546540bf.js"><link rel="prefetch" href="/assets/js/580.2ce122d9.js"><link rel="prefetch" href="/assets/js/581.1557bf9e.js"><link rel="prefetch" href="/assets/js/582.32771d61.js"><link rel="prefetch" href="/assets/js/583.427bb488.js"><link rel="prefetch" href="/assets/js/584.599a8b85.js"><link rel="prefetch" href="/assets/js/585.e6f116dc.js"><link rel="prefetch" href="/assets/js/586.09b0d2a4.js"><link rel="prefetch" href="/assets/js/587.5bccc2bf.js"><link rel="prefetch" href="/assets/js/588.b9ebff60.js"><link rel="prefetch" href="/assets/js/589.83f3e68c.js"><link rel="prefetch" href="/assets/js/59.23c94b56.js"><link rel="prefetch" href="/assets/js/590.a9104ed3.js"><link rel="prefetch" href="/assets/js/591.e4d75eb5.js"><link rel="prefetch" href="/assets/js/592.215644c3.js"><link rel="prefetch" href="/assets/js/593.6fbc31f0.js"><link rel="prefetch" href="/assets/js/594.00046edf.js"><link rel="prefetch" href="/assets/js/595.e95694fd.js"><link rel="prefetch" href="/assets/js/596.e9a312c2.js"><link rel="prefetch" href="/assets/js/597.646e9380.js"><link rel="prefetch" href="/assets/js/598.c8f5a813.js"><link rel="prefetch" href="/assets/js/599.0da83f41.js"><link rel="prefetch" href="/assets/js/6.204aeb38.js"><link rel="prefetch" href="/assets/js/60.4514f54f.js"><link rel="prefetch" href="/assets/js/600.a8815073.js"><link rel="prefetch" href="/assets/js/601.ff650b44.js"><link rel="prefetch" href="/assets/js/602.09b6a1a9.js"><link rel="prefetch" href="/assets/js/603.1f4fb6c8.js"><link rel="prefetch" href="/assets/js/604.cff31bfe.js"><link rel="prefetch" href="/assets/js/605.d4ade90d.js"><link rel="prefetch" href="/assets/js/606.a1f5329a.js"><link rel="prefetch" href="/assets/js/607.c8e712e9.js"><link rel="prefetch" href="/assets/js/608.2b1576eb.js"><link rel="prefetch" href="/assets/js/609.63a41473.js"><link rel="prefetch" href="/assets/js/61.9d6e7108.js"><link rel="prefetch" href="/assets/js/610.bf624dcf.js"><link rel="prefetch" href="/assets/js/611.34e76fc5.js"><link rel="prefetch" href="/assets/js/612.89ef4dfb.js"><link rel="prefetch" href="/assets/js/613.d79733a2.js"><link rel="prefetch" href="/assets/js/614.a573d432.js"><link rel="prefetch" href="/assets/js/615.8ef14671.js"><link rel="prefetch" href="/assets/js/616.5a17fb5e.js"><link rel="prefetch" href="/assets/js/617.c8975714.js"><link rel="prefetch" href="/assets/js/618.71a3e5e7.js"><link rel="prefetch" href="/assets/js/619.8ae4d18e.js"><link rel="prefetch" href="/assets/js/62.856f67f6.js"><link rel="prefetch" href="/assets/js/620.7353e5a9.js"><link rel="prefetch" href="/assets/js/621.5538ab6f.js"><link rel="prefetch" href="/assets/js/622.73610774.js"><link rel="prefetch" href="/assets/js/623.c78b9d15.js"><link rel="prefetch" href="/assets/js/624.120aebd2.js"><link rel="prefetch" href="/assets/js/625.0bf547e1.js"><link rel="prefetch" href="/assets/js/626.3ba5b7eb.js"><link rel="prefetch" href="/assets/js/627.cef173ed.js"><link rel="prefetch" href="/assets/js/628.e1f9dbd9.js"><link rel="prefetch" href="/assets/js/629.7c25082d.js"><link rel="prefetch" href="/assets/js/63.6cf2ac7b.js"><link rel="prefetch" href="/assets/js/630.87091dca.js"><link rel="prefetch" href="/assets/js/631.104d462c.js"><link rel="prefetch" href="/assets/js/632.5593fd86.js"><link rel="prefetch" href="/assets/js/633.b7c53a8e.js"><link rel="prefetch" href="/assets/js/634.628d1c61.js"><link rel="prefetch" href="/assets/js/635.c72a13df.js"><link rel="prefetch" href="/assets/js/636.2c0e1486.js"><link rel="prefetch" href="/assets/js/637.375df295.js"><link rel="prefetch" href="/assets/js/638.b1341705.js"><link rel="prefetch" href="/assets/js/639.b9913c80.js"><link rel="prefetch" href="/assets/js/64.1b081c60.js"><link rel="prefetch" href="/assets/js/640.184f1138.js"><link rel="prefetch" href="/assets/js/641.21140207.js"><link rel="prefetch" href="/assets/js/642.1d11182f.js"><link rel="prefetch" href="/assets/js/643.a5fd7c9d.js"><link rel="prefetch" href="/assets/js/644.11bd8af0.js"><link rel="prefetch" href="/assets/js/645.0204aafd.js"><link rel="prefetch" href="/assets/js/646.9269a197.js"><link rel="prefetch" href="/assets/js/647.b5abf597.js"><link rel="prefetch" href="/assets/js/648.f7dffd21.js"><link rel="prefetch" href="/assets/js/649.b0eb6fc9.js"><link rel="prefetch" href="/assets/js/65.eac1817d.js"><link rel="prefetch" href="/assets/js/650.170caa17.js"><link rel="prefetch" href="/assets/js/651.154938ae.js"><link rel="prefetch" href="/assets/js/652.fd481c41.js"><link rel="prefetch" href="/assets/js/653.6d17f9d4.js"><link rel="prefetch" href="/assets/js/654.ec4ff550.js"><link rel="prefetch" href="/assets/js/655.f5a199bf.js"><link rel="prefetch" href="/assets/js/656.bab486d1.js"><link rel="prefetch" href="/assets/js/657.51219c4b.js"><link rel="prefetch" href="/assets/js/658.aa8a9563.js"><link rel="prefetch" href="/assets/js/659.5f71b97d.js"><link rel="prefetch" href="/assets/js/66.23678b9e.js"><link rel="prefetch" href="/assets/js/660.d1dbf031.js"><link rel="prefetch" href="/assets/js/661.f4e99aca.js"><link rel="prefetch" href="/assets/js/662.b865d026.js"><link rel="prefetch" href="/assets/js/663.480f867e.js"><link rel="prefetch" href="/assets/js/664.8bb382d5.js"><link rel="prefetch" href="/assets/js/665.6fdf21a2.js"><link rel="prefetch" href="/assets/js/666.cb6e3769.js"><link rel="prefetch" href="/assets/js/667.715a68ec.js"><link rel="prefetch" href="/assets/js/668.e4e17291.js"><link rel="prefetch" href="/assets/js/669.23427307.js"><link rel="prefetch" href="/assets/js/67.adcced0d.js"><link rel="prefetch" href="/assets/js/670.a0c119e8.js"><link rel="prefetch" href="/assets/js/671.996e885b.js"><link rel="prefetch" href="/assets/js/672.f5aa4af6.js"><link rel="prefetch" href="/assets/js/673.c1b3c4a1.js"><link rel="prefetch" href="/assets/js/674.64450217.js"><link rel="prefetch" href="/assets/js/675.cd781092.js"><link rel="prefetch" href="/assets/js/676.5d8f1880.js"><link rel="prefetch" href="/assets/js/677.bb3d97ef.js"><link rel="prefetch" href="/assets/js/678.4e1b6e38.js"><link rel="prefetch" href="/assets/js/679.5984eaba.js"><link rel="prefetch" href="/assets/js/68.0e03646b.js"><link rel="prefetch" href="/assets/js/680.c53eb060.js"><link rel="prefetch" href="/assets/js/681.5aaf6971.js"><link rel="prefetch" href="/assets/js/682.09c194fa.js"><link rel="prefetch" href="/assets/js/683.e1e9f4d3.js"><link rel="prefetch" href="/assets/js/684.92ce0f8e.js"><link rel="prefetch" href="/assets/js/685.bbe1819d.js"><link rel="prefetch" href="/assets/js/686.c72a0a8c.js"><link rel="prefetch" href="/assets/js/687.9d3f5333.js"><link rel="prefetch" href="/assets/js/688.f335171b.js"><link rel="prefetch" href="/assets/js/689.4b5f3705.js"><link rel="prefetch" href="/assets/js/69.26ae212e.js"><link rel="prefetch" href="/assets/js/690.1c57db7d.js"><link rel="prefetch" href="/assets/js/691.6f9494c2.js"><link rel="prefetch" href="/assets/js/692.961de5cd.js"><link rel="prefetch" href="/assets/js/693.7b32af8e.js"><link rel="prefetch" href="/assets/js/694.67f02fe2.js"><link rel="prefetch" href="/assets/js/695.0ad2f728.js"><link rel="prefetch" href="/assets/js/696.774ff31b.js"><link rel="prefetch" href="/assets/js/697.ae165ecf.js"><link rel="prefetch" href="/assets/js/698.c511a261.js"><link rel="prefetch" href="/assets/js/699.56d204ec.js"><link rel="prefetch" href="/assets/js/7.c348744b.js"><link rel="prefetch" href="/assets/js/70.bc137810.js"><link rel="prefetch" href="/assets/js/700.a2c0de2f.js"><link rel="prefetch" href="/assets/js/701.97e51841.js"><link rel="prefetch" href="/assets/js/702.2b7f6ba1.js"><link rel="prefetch" href="/assets/js/703.b88eeb18.js"><link rel="prefetch" href="/assets/js/704.c2f7875d.js"><link rel="prefetch" href="/assets/js/705.d295387e.js"><link rel="prefetch" href="/assets/js/706.00c81a25.js"><link rel="prefetch" href="/assets/js/707.e6728f28.js"><link rel="prefetch" href="/assets/js/708.8aa46a61.js"><link rel="prefetch" href="/assets/js/709.fec6fe62.js"><link rel="prefetch" href="/assets/js/71.96a6bf65.js"><link rel="prefetch" href="/assets/js/710.e468ef59.js"><link rel="prefetch" href="/assets/js/711.f6d7ce4b.js"><link rel="prefetch" href="/assets/js/712.58b632d6.js"><link rel="prefetch" href="/assets/js/713.b28da3da.js"><link rel="prefetch" href="/assets/js/714.6415b33e.js"><link rel="prefetch" href="/assets/js/715.3843bd5a.js"><link rel="prefetch" href="/assets/js/716.960f527a.js"><link rel="prefetch" href="/assets/js/717.d7094310.js"><link rel="prefetch" href="/assets/js/718.d8609ae9.js"><link rel="prefetch" href="/assets/js/719.7323ee2e.js"><link rel="prefetch" href="/assets/js/72.d6e37020.js"><link rel="prefetch" href="/assets/js/720.327e71f4.js"><link rel="prefetch" href="/assets/js/721.e9858862.js"><link rel="prefetch" href="/assets/js/722.2caa9df0.js"><link rel="prefetch" href="/assets/js/723.0a6cd773.js"><link rel="prefetch" href="/assets/js/724.4f60c2e4.js"><link rel="prefetch" href="/assets/js/725.969b9b15.js"><link rel="prefetch" href="/assets/js/726.b950bd83.js"><link rel="prefetch" href="/assets/js/727.7161d1de.js"><link rel="prefetch" href="/assets/js/728.007387bd.js"><link rel="prefetch" href="/assets/js/729.4f975433.js"><link rel="prefetch" href="/assets/js/73.f6cdd425.js"><link rel="prefetch" href="/assets/js/730.a08229cd.js"><link rel="prefetch" href="/assets/js/731.6cbd87e1.js"><link rel="prefetch" href="/assets/js/732.3cf36cfc.js"><link rel="prefetch" href="/assets/js/733.d57dfcea.js"><link rel="prefetch" href="/assets/js/734.def3c919.js"><link rel="prefetch" href="/assets/js/735.a11f1746.js"><link rel="prefetch" href="/assets/js/736.826456b0.js"><link rel="prefetch" href="/assets/js/737.8df48ba1.js"><link rel="prefetch" href="/assets/js/738.9e71df72.js"><link rel="prefetch" href="/assets/js/739.26fc367d.js"><link rel="prefetch" href="/assets/js/74.e771b865.js"><link rel="prefetch" href="/assets/js/740.c7fecda5.js"><link rel="prefetch" href="/assets/js/741.3d7c2e89.js"><link rel="prefetch" href="/assets/js/742.a7d96177.js"><link rel="prefetch" href="/assets/js/743.504b7c5d.js"><link rel="prefetch" href="/assets/js/744.b3da3664.js"><link rel="prefetch" href="/assets/js/745.8226eb8f.js"><link rel="prefetch" href="/assets/js/746.9cf1bb32.js"><link rel="prefetch" href="/assets/js/747.a3d98f90.js"><link rel="prefetch" href="/assets/js/748.f70c3b87.js"><link rel="prefetch" href="/assets/js/749.b1ef0530.js"><link rel="prefetch" href="/assets/js/75.ec84f3ee.js"><link rel="prefetch" href="/assets/js/750.ba56d945.js"><link rel="prefetch" href="/assets/js/751.15ea5fa9.js"><link rel="prefetch" href="/assets/js/752.799449e1.js"><link rel="prefetch" href="/assets/js/753.575a6d6a.js"><link rel="prefetch" href="/assets/js/754.de3b2e26.js"><link rel="prefetch" href="/assets/js/755.3d3e753b.js"><link rel="prefetch" href="/assets/js/756.fc41e384.js"><link rel="prefetch" href="/assets/js/757.6d072cd0.js"><link rel="prefetch" href="/assets/js/758.c6157ed3.js"><link rel="prefetch" href="/assets/js/759.059d00a3.js"><link rel="prefetch" href="/assets/js/76.bb94e855.js"><link rel="prefetch" href="/assets/js/760.e0665123.js"><link rel="prefetch" href="/assets/js/761.98d066a0.js"><link rel="prefetch" href="/assets/js/762.16488049.js"><link rel="prefetch" href="/assets/js/763.68ae0daa.js"><link rel="prefetch" href="/assets/js/764.57a757ae.js"><link rel="prefetch" href="/assets/js/765.afeb0bb4.js"><link rel="prefetch" href="/assets/js/766.70d7f0da.js"><link rel="prefetch" href="/assets/js/767.fbcc11c4.js"><link rel="prefetch" href="/assets/js/768.fb097d2e.js"><link rel="prefetch" href="/assets/js/769.0cbbe8f1.js"><link rel="prefetch" href="/assets/js/77.4e845ef7.js"><link rel="prefetch" href="/assets/js/770.e8b4e0f0.js"><link rel="prefetch" href="/assets/js/771.71654493.js"><link rel="prefetch" href="/assets/js/772.ead891a3.js"><link rel="prefetch" href="/assets/js/773.6e234817.js"><link rel="prefetch" href="/assets/js/774.123ef750.js"><link rel="prefetch" href="/assets/js/775.74e50990.js"><link rel="prefetch" href="/assets/js/776.aaa80c87.js"><link rel="prefetch" href="/assets/js/777.933d5d87.js"><link rel="prefetch" href="/assets/js/778.1e030bdc.js"><link rel="prefetch" href="/assets/js/779.6a315a1d.js"><link rel="prefetch" href="/assets/js/78.eab4b5de.js"><link rel="prefetch" href="/assets/js/780.8d2a3427.js"><link rel="prefetch" href="/assets/js/781.bb65e37b.js"><link rel="prefetch" href="/assets/js/782.cf5dcf11.js"><link rel="prefetch" href="/assets/js/783.55b3e8f9.js"><link rel="prefetch" href="/assets/js/784.bc816f7f.js"><link rel="prefetch" href="/assets/js/785.054019d9.js"><link rel="prefetch" href="/assets/js/786.985a3aec.js"><link rel="prefetch" href="/assets/js/787.e025de1a.js"><link rel="prefetch" href="/assets/js/788.b7be069d.js"><link rel="prefetch" href="/assets/js/789.40383df3.js"><link rel="prefetch" href="/assets/js/79.3b47436e.js"><link rel="prefetch" href="/assets/js/790.43906449.js"><link rel="prefetch" href="/assets/js/791.88e2a9da.js"><link rel="prefetch" href="/assets/js/792.4a903e73.js"><link rel="prefetch" href="/assets/js/793.ff6ac1b9.js"><link rel="prefetch" href="/assets/js/794.c00ac292.js"><link rel="prefetch" href="/assets/js/795.e5127ef0.js"><link rel="prefetch" href="/assets/js/796.2a81831d.js"><link rel="prefetch" href="/assets/js/797.be376774.js"><link rel="prefetch" href="/assets/js/798.1a3d96ed.js"><link rel="prefetch" href="/assets/js/799.5caded0a.js"><link rel="prefetch" href="/assets/js/8.d5679e1b.js"><link rel="prefetch" href="/assets/js/80.4eb0f858.js"><link rel="prefetch" href="/assets/js/800.560fff5f.js"><link rel="prefetch" href="/assets/js/801.297c3852.js"><link rel="prefetch" href="/assets/js/802.5c23b873.js"><link rel="prefetch" href="/assets/js/803.5391017b.js"><link rel="prefetch" href="/assets/js/804.6cf24595.js"><link rel="prefetch" href="/assets/js/805.6f934c2e.js"><link rel="prefetch" href="/assets/js/806.94bced4f.js"><link rel="prefetch" href="/assets/js/807.86f33a00.js"><link rel="prefetch" href="/assets/js/808.a132a0a9.js"><link rel="prefetch" href="/assets/js/809.1143f40e.js"><link rel="prefetch" href="/assets/js/81.0f9b092a.js"><link rel="prefetch" href="/assets/js/810.943bf22d.js"><link rel="prefetch" href="/assets/js/811.147b03ce.js"><link rel="prefetch" href="/assets/js/812.7c6d7fa8.js"><link rel="prefetch" href="/assets/js/813.069a00c3.js"><link rel="prefetch" href="/assets/js/814.a77493aa.js"><link rel="prefetch" href="/assets/js/815.4bcc9ce9.js"><link rel="prefetch" href="/assets/js/816.81f4d649.js"><link rel="prefetch" href="/assets/js/817.0789ee26.js"><link rel="prefetch" href="/assets/js/818.626950ee.js"><link rel="prefetch" href="/assets/js/819.12ca8226.js"><link rel="prefetch" href="/assets/js/82.b5c7a10d.js"><link rel="prefetch" href="/assets/js/820.f05d1281.js"><link rel="prefetch" href="/assets/js/821.029deb8a.js"><link rel="prefetch" href="/assets/js/822.d4bdd8a0.js"><link rel="prefetch" href="/assets/js/823.fdc32a23.js"><link rel="prefetch" href="/assets/js/824.62c9c363.js"><link rel="prefetch" href="/assets/js/825.949214f9.js"><link rel="prefetch" href="/assets/js/826.ec7484bc.js"><link rel="prefetch" href="/assets/js/827.4185d412.js"><link rel="prefetch" href="/assets/js/828.606826d6.js"><link rel="prefetch" href="/assets/js/829.48296824.js"><link rel="prefetch" href="/assets/js/83.30046e74.js"><link rel="prefetch" href="/assets/js/830.dbff13cc.js"><link rel="prefetch" href="/assets/js/831.dcff6632.js"><link rel="prefetch" href="/assets/js/832.8d7265ae.js"><link rel="prefetch" href="/assets/js/833.6b228e41.js"><link rel="prefetch" href="/assets/js/834.cfa7c63b.js"><link rel="prefetch" href="/assets/js/835.3eca0337.js"><link rel="prefetch" href="/assets/js/836.342005d0.js"><link rel="prefetch" href="/assets/js/837.592d3558.js"><link rel="prefetch" href="/assets/js/838.ab0456f1.js"><link rel="prefetch" href="/assets/js/839.0f96fa35.js"><link rel="prefetch" href="/assets/js/84.f6dc579f.js"><link rel="prefetch" href="/assets/js/840.155bb130.js"><link rel="prefetch" href="/assets/js/841.75afc9e0.js"><link rel="prefetch" href="/assets/js/842.4dfedced.js"><link rel="prefetch" href="/assets/js/843.7be07359.js"><link rel="prefetch" href="/assets/js/844.ffd121c2.js"><link rel="prefetch" href="/assets/js/845.ea81a834.js"><link rel="prefetch" href="/assets/js/846.aea0a07e.js"><link rel="prefetch" href="/assets/js/847.73f1fd82.js"><link rel="prefetch" href="/assets/js/848.0fd7049e.js"><link rel="prefetch" href="/assets/js/849.0c4a8f05.js"><link rel="prefetch" href="/assets/js/85.0ce58b9e.js"><link rel="prefetch" href="/assets/js/850.6cc15607.js"><link rel="prefetch" href="/assets/js/851.df9fe7e1.js"><link rel="prefetch" href="/assets/js/852.584ca186.js"><link rel="prefetch" href="/assets/js/853.d8247fb5.js"><link rel="prefetch" href="/assets/js/854.396baeec.js"><link rel="prefetch" href="/assets/js/855.8527c31b.js"><link rel="prefetch" href="/assets/js/856.6f95c55f.js"><link rel="prefetch" href="/assets/js/857.964325a8.js"><link rel="prefetch" href="/assets/js/858.0279767c.js"><link rel="prefetch" href="/assets/js/859.0c590ceb.js"><link rel="prefetch" href="/assets/js/86.e5ae183e.js"><link rel="prefetch" href="/assets/js/860.0ab933bd.js"><link rel="prefetch" href="/assets/js/861.c6353af3.js"><link rel="prefetch" href="/assets/js/862.0e43b79e.js"><link rel="prefetch" href="/assets/js/863.894dba48.js"><link rel="prefetch" href="/assets/js/864.f170c32b.js"><link rel="prefetch" href="/assets/js/865.209a1b3d.js"><link rel="prefetch" href="/assets/js/866.d3979b6f.js"><link rel="prefetch" href="/assets/js/867.0f2ccaf9.js"><link rel="prefetch" href="/assets/js/868.dd5876a3.js"><link rel="prefetch" href="/assets/js/869.36504dea.js"><link rel="prefetch" href="/assets/js/87.ba996858.js"><link rel="prefetch" href="/assets/js/870.bf37af38.js"><link rel="prefetch" href="/assets/js/88.4d71bce5.js"><link rel="prefetch" href="/assets/js/89.787f9168.js"><link rel="prefetch" href="/assets/js/9.2c280511.js"><link rel="prefetch" href="/assets/js/90.f0436a61.js"><link rel="prefetch" href="/assets/js/91.a79b3468.js"><link rel="prefetch" href="/assets/js/92.cf63f3f6.js"><link rel="prefetch" href="/assets/js/93.7764bcff.js"><link rel="prefetch" href="/assets/js/94.8996d644.js"><link rel="prefetch" href="/assets/js/95.d435fca1.js"><link rel="prefetch" href="/assets/js/96.e1cc38d5.js"><link rel="prefetch" href="/assets/js/97.0ee734ef.js"><link rel="prefetch" href="/assets/js/98.3d7e542e.js"><link rel="prefetch" href="/assets/js/99.f824935c.js"><link rel="prefetch" href="/assets/js/vendors~docsearch.51ef31dd.js">
<link rel="stylesheet" href="/assets/css/0.styles.ec12723d.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-active"><img src="/img/logo.png" alt=" " class="logo"></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title">Documentation</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/UserGuide/Master/QuickStart/QuickStart.html" class="nav-link">latest</a></li><li class="dropdown-item"><!----> <a href="/UserGuide/V0.13.x/QuickStart/QuickStart.html" class="nav-link">v0.13.x</a></li><li class="dropdown-item"><!----> <a href="/UserGuide/V0.12.x/QuickStart/QuickStart.html" class="nav-link">v0.12.x</a></li><li class="dropdown-item"><!----> <a href="/UserGuide/V0.11.x/Get Started/QuickStart.html" class="nav-link">v0.11.x</a></li><li class="dropdown-item"><!----> <a href="/UserGuide/V0.10.x/Get Started/QuickStart.html" class="nav-link">v0.10.x</a></li><li class="dropdown-item"><!----> <a href="/UserGuide/V0.9.x/0-Get Started/1-QuickStart.html" class="nav-link">v0.9.x</a></li><li class="dropdown-item"><!----> <a href="/UserGuide/V0.8.x/0-Get Started/1-QuickStart.html" class="nav-link">v0.8.x</a></li></ul></div></div><div class="nav-item"><a href="https://cwiki.apache.org/confluence/display/IOTDB/System+Design" class="nav-link external">
Design
<!----></a></div><div class="nav-item"><a href="/Download/" class="nav-link">Download</a></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title">Community</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/Community/About.html" class="nav-link">About</a></li><li class="dropdown-item"><!----> <a href="https://cwiki.apache.org/confluence/display/iotdb" class="nav-link external">
Wiki
<!----></a></li><li class="dropdown-item"><!----> <a href="/Community/Community-Project Committers.html" class="nav-link">People</a></li><li class="dropdown-item"><!----> <a href="/Community/Community-Powered By.html" class="nav-link">Powered By</a></li><li class="dropdown-item"><!----> <a href="/Community/Materials.html" class="nav-link">Resources</a></li><li class="dropdown-item"><!----> <a href="/Community/Feedback.html" class="nav-link">Feedback</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title">Development</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/Development/VoteRelease.html" class="nav-link">How to vote</a></li><li class="dropdown-item"><!----> <a href="/Development/HowToCommit.html" class="nav-link">How to Commit</a></li><li class="dropdown-item"><!----> <a href="/Development/HowToJoin.html" class="nav-link">Become a Contributor</a></li><li class="dropdown-item"><!----> <a href="/Development/Committer.html" class="nav-link">Become a Committer</a></li><li class="dropdown-item"><!----> <a href="/Development/ContributeGuide.html" class="nav-link">ContributeGuide</a></li><li class="dropdown-item"><!----> <a href="/Development/HowtoContributeCode.html" class="nav-link">How to Contribute Code</a></li><li class="dropdown-item"><!----> <a href="/Development/format-changelist.html" class="nav-link">Changelist of TsFile</a></li><li class="dropdown-item"><!----> <a href="/Development/rpc-changelist.html" class="nav-link">Changelist of RPC</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title">ASF</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="http://www.apache.org/" class="nav-link external">
Foundation
<!----></a></li><li class="dropdown-item"><!----> <a href="http://www.apache.org/licenses/" class="nav-link external">
License
<!----></a></li><li class="dropdown-item"><!----> <a href="http://www.apache.org/security/" class="nav-link external">
Security
<!----></a></li><li class="dropdown-item"><!----> <a href="http://www.apache.org/foundation/sponsorship.html" class="nav-link external">
Sponsorship
<!----></a></li><li class="dropdown-item"><!----> <a href="http://www.apache.org/foundation/thanks.html" class="nav-link external">
Thanks
<!----></a></li><li class="dropdown-item"><!----> <a href="http://www.apache.org/events/current-event" class="nav-link external">
Current Events
<!----></a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title">Languages</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/UserGuide/V0.13.x/API/Programming-Python-Native-API.html" aria-current="page" class="nav-link router-link-exact-active router-link-active">English</a></li><li class="dropdown-item"><!----> <a href="/zh/UserGuide/V0.13.x/API/Programming-Python-Native-API.html" class="nav-link">简体中文</a></li></ul></div></div> <a href="https://github.com/apache/iotdb.git" target="_blank" rel="noopener noreferrer" class="repo-link">
GitHub
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title">Documentation</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/UserGuide/Master/QuickStart/QuickStart.html" class="nav-link">latest</a></li><li class="dropdown-item"><!----> <a href="/UserGuide/V0.13.x/QuickStart/QuickStart.html" class="nav-link">v0.13.x</a></li><li class="dropdown-item"><!----> <a href="/UserGuide/V0.12.x/QuickStart/QuickStart.html" class="nav-link">v0.12.x</a></li><li class="dropdown-item"><!----> <a href="/UserGuide/V0.11.x/Get Started/QuickStart.html" class="nav-link">v0.11.x</a></li><li class="dropdown-item"><!----> <a href="/UserGuide/V0.10.x/Get Started/QuickStart.html" class="nav-link">v0.10.x</a></li><li class="dropdown-item"><!----> <a href="/UserGuide/V0.9.x/0-Get Started/1-QuickStart.html" class="nav-link">v0.9.x</a></li><li class="dropdown-item"><!----> <a href="/UserGuide/V0.8.x/0-Get Started/1-QuickStart.html" class="nav-link">v0.8.x</a></li></ul></div></div><div class="nav-item"><a href="https://cwiki.apache.org/confluence/display/IOTDB/System+Design" class="nav-link external">
Design
<!----></a></div><div class="nav-item"><a href="/Download/" class="nav-link">Download</a></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title">Community</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/Community/About.html" class="nav-link">About</a></li><li class="dropdown-item"><!----> <a href="https://cwiki.apache.org/confluence/display/iotdb" class="nav-link external">
Wiki
<!----></a></li><li class="dropdown-item"><!----> <a href="/Community/Community-Project Committers.html" class="nav-link">People</a></li><li class="dropdown-item"><!----> <a href="/Community/Community-Powered By.html" class="nav-link">Powered By</a></li><li class="dropdown-item"><!----> <a href="/Community/Materials.html" class="nav-link">Resources</a></li><li class="dropdown-item"><!----> <a href="/Community/Feedback.html" class="nav-link">Feedback</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title">Development</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/Development/VoteRelease.html" class="nav-link">How to vote</a></li><li class="dropdown-item"><!----> <a href="/Development/HowToCommit.html" class="nav-link">How to Commit</a></li><li class="dropdown-item"><!----> <a href="/Development/HowToJoin.html" class="nav-link">Become a Contributor</a></li><li class="dropdown-item"><!----> <a href="/Development/Committer.html" class="nav-link">Become a Committer</a></li><li class="dropdown-item"><!----> <a href="/Development/ContributeGuide.html" class="nav-link">ContributeGuide</a></li><li class="dropdown-item"><!----> <a href="/Development/HowtoContributeCode.html" class="nav-link">How to Contribute Code</a></li><li class="dropdown-item"><!----> <a href="/Development/format-changelist.html" class="nav-link">Changelist of TsFile</a></li><li class="dropdown-item"><!----> <a href="/Development/rpc-changelist.html" class="nav-link">Changelist of RPC</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title">ASF</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="http://www.apache.org/" class="nav-link external">
Foundation
<!----></a></li><li class="dropdown-item"><!----> <a href="http://www.apache.org/licenses/" class="nav-link external">
License
<!----></a></li><li class="dropdown-item"><!----> <a href="http://www.apache.org/security/" class="nav-link external">
Security
<!----></a></li><li class="dropdown-item"><!----> <a href="http://www.apache.org/foundation/sponsorship.html" class="nav-link external">
Sponsorship
<!----></a></li><li class="dropdown-item"><!----> <a href="http://www.apache.org/foundation/thanks.html" class="nav-link external">
Thanks
<!----></a></li><li class="dropdown-item"><!----> <a href="http://www.apache.org/events/current-event" class="nav-link external">
Current Events
<!----></a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title">Languages</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/UserGuide/V0.13.x/API/Programming-Python-Native-API.html" aria-current="page" class="nav-link router-link-exact-active router-link-active">English</a></li><li class="dropdown-item"><!----> <a href="/zh/UserGuide/V0.13.x/API/Programming-Python-Native-API.html" class="nav-link">简体中文</a></li></ul></div></div> <a href="https://github.com/apache/iotdb.git" target="_blank" rel="noopener noreferrer" class="repo-link">
GitHub
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>IoTDB User Guide (latest)</span> <!----></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>IoTDB Introduction</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Quick Start</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Data Concept</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Syntax Conventions</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>API</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/UserGuide/V0.13.x/API/Programming-Java-Native-API.html" class="sidebar-link">Java Native API</a></li><li><a href="/UserGuide/V0.13.x/API/Programming-Python-Native-API.html" aria-current="page" class="active sidebar-link">Python Native API</a></li><li><a href="/UserGuide/V0.13.x/API/Programming-Cpp-Native-API.html" class="sidebar-link">C++ Native API</a></li><li><a href="/UserGuide/V0.13.x/API/Programming-Go-Native-API.html" class="sidebar-link">Go Native API</a></li><li><a href="/UserGuide/V0.13.x/API/Programming-JDBC.html" class="sidebar-link">JDBC (Not Recommend)</a></li><li><a href="/UserGuide/V0.13.x/API/Programming-MQTT.html" class="sidebar-link">MQTT</a></li><li><a href="/UserGuide/V0.13.x/API/RestService.html" class="sidebar-link">REST API</a></li><li><a href="/UserGuide/V0.13.x/API/Programming-TsFile-API.html" class="sidebar-link">TsFile API</a></li><li><a href="/UserGuide/V0.13.x/API/Status-Codes.html" class="sidebar-link">Status Codes</a></li></ul></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Operate Metadata</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Write and Delete Data</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Query Data</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Process Data</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Administration Management</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Maintenance Tools</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Ecosystem Integration</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Cluster Setup</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>UDF Library</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Reference</span> <span class="arrow right"></span></p> <!----></section></li></ul> </aside> <main class="page"> <div class="content content__default"><h2 id="python-native-api"><a href="#python-native-api" class="header-anchor">#</a> Python Native API</h2> <h3 id="requirements"><a href="#requirements" class="header-anchor">#</a> Requirements</h3> <p>You have to install thrift (&gt;=0.13) before using the package.</p> <h3 id="how-to-use-example"><a href="#how-to-use-example" class="header-anchor">#</a> How to use (Example)</h3> <p>First, download the latest package: <code>pip3 install apache-iotdb</code></p> <p><em>Notice: If you are installing Python API v0.13.0, DO NOT install by <code>pip install apache-iotdb==0.13.0</code>, use <code>pip install apache-iotdb==0.13.0.post1</code> instead!</em></p> <p>You can get an example of using the package to read and write data at here: <a href="https://github.com/apache/iotdb/blob/master/client-py/SessionExample.py" target="_blank" rel="noopener noreferrer">Example<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></p> <p>An example of aligned timeseries: <a href="https://github.com/apache/iotdb/blob/master/client-py/SessionAlignedTimeseriesExample.py" target="_blank" rel="noopener noreferrer">Aligned Timeseries Session Example<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></p> <p>(you need to add <code>import iotdb</code> in the head of the file)</p> <p>Or:</p> <div class="language-python line-numbers-mode"><pre class="language-python"><code><span class="token keyword">from</span> iotdb<span class="token punctuation">.</span>Session <span class="token keyword">import</span> Session
ip <span class="token operator">=</span> <span class="token string">&quot;127.0.0.1&quot;</span>
port_ <span class="token operator">=</span> <span class="token string">&quot;6667&quot;</span>
username_ <span class="token operator">=</span> <span class="token string">&quot;root&quot;</span>
password_ <span class="token operator">=</span> <span class="token string">&quot;root&quot;</span>
session <span class="token operator">=</span> Session<span class="token punctuation">(</span>ip<span class="token punctuation">,</span> port_<span class="token punctuation">,</span> username_<span class="token punctuation">,</span> password_<span class="token punctuation">)</span>
session<span class="token punctuation">.</span><span class="token builtin">open</span><span class="token punctuation">(</span><span class="token boolean">False</span><span class="token punctuation">)</span>
zone <span class="token operator">=</span> session<span class="token punctuation">.</span>get_time_zone<span class="token punctuation">(</span><span class="token punctuation">)</span>
session<span class="token punctuation">.</span>close<span class="token punctuation">(</span><span class="token punctuation">)</span>
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br></div></div><h3 id="initialization"><a href="#initialization" class="header-anchor">#</a> Initialization</h3> <ul><li>Initialize a Session</li></ul> <div class="language-python line-numbers-mode"><pre class="language-python"><code>session <span class="token operator">=</span> Session<span class="token punctuation">(</span>ip<span class="token punctuation">,</span> port_<span class="token punctuation">,</span> username_<span class="token punctuation">,</span> password_<span class="token punctuation">,</span> fetch_size<span class="token operator">=</span><span class="token number">1024</span><span class="token punctuation">,</span> zone_id<span class="token operator">=</span><span class="token string">&quot;UTC+8&quot;</span><span class="token punctuation">)</span>
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div><ul><li>Open a session, with a parameter to specify whether to enable RPC compression</li></ul> <div class="language-python line-numbers-mode"><pre class="language-python"><code>session<span class="token punctuation">.</span><span class="token builtin">open</span><span class="token punctuation">(</span>enable_rpc_compression<span class="token operator">=</span><span class="token boolean">False</span><span class="token punctuation">)</span>
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div><p>Notice: this RPC compression status of client must comply with that of IoTDB server</p> <ul><li>Close a Session</li></ul> <div class="language-python line-numbers-mode"><pre class="language-python"><code>session<span class="token punctuation">.</span>close<span class="token punctuation">(</span><span class="token punctuation">)</span>
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div><h3 id="data-definition-interface-ddl-interface"><a href="#data-definition-interface-ddl-interface" class="header-anchor">#</a> Data Definition Interface (DDL Interface)</h3> <h4 id="storage-group-management"><a href="#storage-group-management" class="header-anchor">#</a> Storage Group Management</h4> <ul><li>Set storage group</li></ul> <div class="language-python line-numbers-mode"><pre class="language-python"><code>session<span class="token punctuation">.</span>set_storage_group<span class="token punctuation">(</span>group_name<span class="token punctuation">)</span>
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div><ul><li>Delete one or several storage groups</li></ul> <div class="language-python line-numbers-mode"><pre class="language-python"><code>session<span class="token punctuation">.</span>delete_storage_group<span class="token punctuation">(</span>group_name<span class="token punctuation">)</span>
session<span class="token punctuation">.</span>delete_storage_groups<span class="token punctuation">(</span>group_name_lst<span class="token punctuation">)</span>
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br></div></div><h4 id="timeseries-management"><a href="#timeseries-management" class="header-anchor">#</a> Timeseries Management</h4> <ul><li>Create one or multiple timeseries</li></ul> <div class="language-python line-numbers-mode"><pre class="language-python"><code>session<span class="token punctuation">.</span>create_time_series<span class="token punctuation">(</span>ts_path<span class="token punctuation">,</span> data_type<span class="token punctuation">,</span> encoding<span class="token punctuation">,</span> compressor<span class="token punctuation">,</span>
props<span class="token operator">=</span><span class="token boolean">None</span><span class="token punctuation">,</span> tags<span class="token operator">=</span><span class="token boolean">None</span><span class="token punctuation">,</span> attributes<span class="token operator">=</span><span class="token boolean">None</span><span class="token punctuation">,</span> alias<span class="token operator">=</span><span class="token boolean">None</span><span class="token punctuation">)</span>
session<span class="token punctuation">.</span>create_multi_time_series<span class="token punctuation">(</span>
ts_path_lst<span class="token punctuation">,</span> data_type_lst<span class="token punctuation">,</span> encoding_lst<span class="token punctuation">,</span> compressor_lst<span class="token punctuation">,</span>
props_lst<span class="token operator">=</span><span class="token boolean">None</span><span class="token punctuation">,</span> tags_lst<span class="token operator">=</span><span class="token boolean">None</span><span class="token punctuation">,</span> attributes_lst<span class="token operator">=</span><span class="token boolean">None</span><span class="token punctuation">,</span> alias_lst<span class="token operator">=</span><span class="token boolean">None</span>
<span class="token punctuation">)</span>
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br></div></div><ul><li>Create aligned timeseries</li></ul> <div class="language-python line-numbers-mode"><pre class="language-python"><code>session<span class="token punctuation">.</span>create_aligned_time_series<span class="token punctuation">(</span>
device_id<span class="token punctuation">,</span> measurements_lst<span class="token punctuation">,</span> data_type_lst<span class="token punctuation">,</span> encoding_lst<span class="token punctuation">,</span> compressor_lst
<span class="token punctuation">)</span>
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br></div></div><p>Attention: Alias of measurements are <strong>not supported</strong> currently.</p> <ul><li>Delete one or several timeseries</li></ul> <div class="language-python line-numbers-mode"><pre class="language-python"><code>session<span class="token punctuation">.</span>delete_time_series<span class="token punctuation">(</span>paths_list<span class="token punctuation">)</span>
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div><ul><li>Check whether the specific timeseries exists</li></ul> <div class="language-python line-numbers-mode"><pre class="language-python"><code>session<span class="token punctuation">.</span>check_time_series_exists<span class="token punctuation">(</span>path<span class="token punctuation">)</span>
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div><h3 id="data-manipulation-interface-dml-interface"><a href="#data-manipulation-interface-dml-interface" class="header-anchor">#</a> Data Manipulation Interface (DML Interface)</h3> <h4 id="insert"><a href="#insert" class="header-anchor">#</a> Insert</h4> <p>It is recommended to use insertTablet to help improve write efficiency.</p> <ul><li>Insert a Tablet,which is multiple rows of a device, each row has the same measurements
<ul><li><strong>Better Write Performance</strong></li> <li><strong>Support null values</strong>: fill the null value with any value, and then mark the null value via BitMap (from v0.13)</li></ul></li></ul> <p>We have two implementations of Tablet in Python API.</p> <ul><li>Normal Tablet</li></ul> <div class="language-python line-numbers-mode"><pre class="language-python"><code>values_ <span class="token operator">=</span> <span class="token punctuation">[</span>
<span class="token punctuation">[</span><span class="token boolean">False</span><span class="token punctuation">,</span> <span class="token number">10</span><span class="token punctuation">,</span> <span class="token number">11</span><span class="token punctuation">,</span> <span class="token number">1.1</span><span class="token punctuation">,</span> <span class="token number">10011.1</span><span class="token punctuation">,</span> <span class="token string">&quot;test01&quot;</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token punctuation">[</span><span class="token boolean">True</span><span class="token punctuation">,</span> <span class="token number">100</span><span class="token punctuation">,</span> <span class="token number">11111</span><span class="token punctuation">,</span> <span class="token number">1.25</span><span class="token punctuation">,</span> <span class="token number">101.0</span><span class="token punctuation">,</span> <span class="token string">&quot;test02&quot;</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token punctuation">[</span><span class="token boolean">False</span><span class="token punctuation">,</span> <span class="token number">100</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">188.1</span><span class="token punctuation">,</span> <span class="token number">688.25</span><span class="token punctuation">,</span> <span class="token string">&quot;test03&quot;</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token punctuation">[</span><span class="token boolean">True</span><span class="token punctuation">,</span> <span class="token number">0</span><span class="token punctuation">,</span> <span class="token number">0</span><span class="token punctuation">,</span> <span class="token number">0</span><span class="token punctuation">,</span> <span class="token number">6.25</span><span class="token punctuation">,</span> <span class="token string">&quot;test04&quot;</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token punctuation">]</span>
timestamps_ <span class="token operator">=</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">3</span><span class="token punctuation">,</span> <span class="token number">4</span><span class="token punctuation">]</span>
tablet_ <span class="token operator">=</span> Tablet<span class="token punctuation">(</span>
device_id<span class="token punctuation">,</span> measurements_<span class="token punctuation">,</span> data_types_<span class="token punctuation">,</span> values_<span class="token punctuation">,</span> timestamps_
<span class="token punctuation">)</span>
session<span class="token punctuation">.</span>insert_tablet<span class="token punctuation">(</span>tablet_<span class="token punctuation">)</span>
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br></div></div><ul><li>Numpy Tablet</li></ul> <p>Comparing with Tablet, Numpy Tablet is using <a href="https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html" target="_blank" rel="noopener noreferrer">numpy.ndarray<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a> to record data.
With less memory footprint and time cost of serialization, the insert performance will be better.</p> <p><strong>Notice</strong></p> <ol><li>time and numerical value columns in Tablet is ndarray</li> <li>recommended to use the specific dtypes to each ndarray, see the example below
(if not, the default dtypes are also ok).</li></ol> <div class="language-python line-numbers-mode"><pre class="language-python"><code>data_types_ <span class="token operator">=</span> <span class="token punctuation">[</span>
TSDataType<span class="token punctuation">.</span>BOOLEAN<span class="token punctuation">,</span>
TSDataType<span class="token punctuation">.</span>INT32<span class="token punctuation">,</span>
TSDataType<span class="token punctuation">.</span>INT64<span class="token punctuation">,</span>
TSDataType<span class="token punctuation">.</span>FLOAT<span class="token punctuation">,</span>
TSDataType<span class="token punctuation">.</span>DOUBLE<span class="token punctuation">,</span>
TSDataType<span class="token punctuation">.</span>TEXT<span class="token punctuation">,</span>
<span class="token punctuation">]</span>
np_values_ <span class="token operator">=</span> <span class="token punctuation">[</span>
np<span class="token punctuation">.</span>array<span class="token punctuation">(</span><span class="token punctuation">[</span><span class="token boolean">False</span><span class="token punctuation">,</span> <span class="token boolean">True</span><span class="token punctuation">,</span> <span class="token boolean">False</span><span class="token punctuation">,</span> <span class="token boolean">True</span><span class="token punctuation">]</span><span class="token punctuation">,</span> TSDataType<span class="token punctuation">.</span>BOOLEAN<span class="token punctuation">.</span>np_dtype<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
np<span class="token punctuation">.</span>array<span class="token punctuation">(</span><span class="token punctuation">[</span><span class="token number">10</span><span class="token punctuation">,</span> <span class="token number">100</span><span class="token punctuation">,</span> <span class="token number">100</span><span class="token punctuation">,</span> <span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">,</span> TSDataType<span class="token punctuation">.</span>INT32<span class="token punctuation">.</span>np_dtype<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
np<span class="token punctuation">.</span>array<span class="token punctuation">(</span><span class="token punctuation">[</span><span class="token number">11</span><span class="token punctuation">,</span> <span class="token number">11111</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">,</span> TSDataType<span class="token punctuation">.</span>INT64<span class="token punctuation">.</span>np_dtype<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
np<span class="token punctuation">.</span>array<span class="token punctuation">(</span><span class="token punctuation">[</span><span class="token number">1.1</span><span class="token punctuation">,</span> <span class="token number">1.25</span><span class="token punctuation">,</span> <span class="token number">188.1</span><span class="token punctuation">,</span> <span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">,</span> TSDataType<span class="token punctuation">.</span>FLOAT<span class="token punctuation">.</span>np_dtype<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
np<span class="token punctuation">.</span>array<span class="token punctuation">(</span><span class="token punctuation">[</span><span class="token number">10011.1</span><span class="token punctuation">,</span> <span class="token number">101.0</span><span class="token punctuation">,</span> <span class="token number">688.25</span><span class="token punctuation">,</span> <span class="token number">6.25</span><span class="token punctuation">]</span><span class="token punctuation">,</span> TSDataType<span class="token punctuation">.</span>DOUBLE<span class="token punctuation">.</span>np_dtype<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
np<span class="token punctuation">.</span>array<span class="token punctuation">(</span><span class="token punctuation">[</span><span class="token string">&quot;test01&quot;</span><span class="token punctuation">,</span> <span class="token string">&quot;test02&quot;</span><span class="token punctuation">,</span> <span class="token string">&quot;test03&quot;</span><span class="token punctuation">,</span> <span class="token string">&quot;test04&quot;</span><span class="token punctuation">]</span><span class="token punctuation">,</span> TSDataType<span class="token punctuation">.</span>TEXT<span class="token punctuation">.</span>np_dtype<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token punctuation">]</span>
np_timestamps_ <span class="token operator">=</span> np<span class="token punctuation">.</span>array<span class="token punctuation">(</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">3</span><span class="token punctuation">,</span> <span class="token number">4</span><span class="token punctuation">]</span><span class="token punctuation">,</span> TSDataType<span class="token punctuation">.</span>INT64<span class="token punctuation">.</span>np_dtype<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
np_tablet_ <span class="token operator">=</span> NumpyTablet<span class="token punctuation">(</span>
<span class="token string">&quot;root.sg_test_01.d_02&quot;</span><span class="token punctuation">,</span> measurements_<span class="token punctuation">,</span> data_types_<span class="token punctuation">,</span> np_values_<span class="token punctuation">,</span> np_timestamps_
<span class="token punctuation">)</span>
session<span class="token punctuation">.</span>insert_tablet<span class="token punctuation">(</span>np_tablet_<span class="token punctuation">)</span>
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br></div></div><ul><li>Insert multiple Tablets</li></ul> <div class="language-python line-numbers-mode"><pre class="language-python"><code>session<span class="token punctuation">.</span>insert_tablets<span class="token punctuation">(</span>tablet_lst<span class="token punctuation">)</span>
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div><ul><li>Insert a Record</li></ul> <div class="language-python line-numbers-mode"><pre class="language-python"><code>session<span class="token punctuation">.</span>insert_record<span class="token punctuation">(</span>device_id<span class="token punctuation">,</span> timestamp<span class="token punctuation">,</span> measurements_<span class="token punctuation">,</span> data_types_<span class="token punctuation">,</span> values_<span class="token punctuation">)</span>
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div><ul><li>Insert multiple Records</li></ul> <div class="language-python line-numbers-mode"><pre class="language-python"><code>session<span class="token punctuation">.</span>insert_records<span class="token punctuation">(</span>
device_ids_<span class="token punctuation">,</span> time_list_<span class="token punctuation">,</span> measurements_list_<span class="token punctuation">,</span> data_type_list_<span class="token punctuation">,</span> values_list_
<span class="token punctuation">)</span>
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br></div></div><ul><li>Insert multiple Records that belong to the same device.
With type info the server has no need to do type inference, which leads a better performance</li></ul> <div class="language-python line-numbers-mode"><pre class="language-python"><code>session<span class="token punctuation">.</span>insert_records_of_one_device<span class="token punctuation">(</span>device_id<span class="token punctuation">,</span> time_list<span class="token punctuation">,</span> measurements_list<span class="token punctuation">,</span> data_types_list<span class="token punctuation">,</span> values_list<span class="token punctuation">)</span>
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div><h4 id="insert-with-type-inference"><a href="#insert-with-type-inference" class="header-anchor">#</a> Insert with type inference</h4> <p>When the data is of String type, we can use the following interface to perform type inference based on the value of the value itself. For example, if value is &quot;true&quot; , it can be automatically inferred to be a boolean type. If value is &quot;3.2&quot; , it can be automatically inferred as a flout type. Without type information, server has to do type inference, which may cost some time.</p> <ul><li>Insert a Record, which contains multiple measurement value of a device at a timestamp</li></ul> <div class="language-python line-numbers-mode"><pre class="language-python"><code>session<span class="token punctuation">.</span>insert_str_record<span class="token punctuation">(</span>device_id<span class="token punctuation">,</span> timestamp<span class="token punctuation">,</span> measurements<span class="token punctuation">,</span> string_values<span class="token punctuation">)</span>
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div><h4 id="insert-of-aligned-timeseries"><a href="#insert-of-aligned-timeseries" class="header-anchor">#</a> Insert of Aligned Timeseries</h4> <p>The Insert of aligned timeseries uses interfaces like insert_aligned_XXX, and others are similar to the above interfaces:</p> <ul><li>insert_aligned_record</li> <li>insert_aligned_records</li> <li>insert_aligned_records_of_one_device</li> <li>insert_aligned_tablet</li> <li>insert_aligned_tablets</li></ul> <h3 id="iotdb-sql-interface"><a href="#iotdb-sql-interface" class="header-anchor">#</a> IoTDB-SQL Interface</h3> <ul><li>Execute query statement</li></ul> <div class="language-python line-numbers-mode"><pre class="language-python"><code>session<span class="token punctuation">.</span>execute_query_statement<span class="token punctuation">(</span>sql<span class="token punctuation">)</span>
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div><ul><li>Execute non query statement</li></ul> <div class="language-python line-numbers-mode"><pre class="language-python"><code>session<span class="token punctuation">.</span>execute_non_query_statement<span class="token punctuation">(</span>sql<span class="token punctuation">)</span>
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div><h3 id="pandas-support"><a href="#pandas-support" class="header-anchor">#</a> Pandas Support</h3> <p>To easily transform a query result to a <a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html" target="_blank" rel="noopener noreferrer">Pandas Dataframe<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
the SessionDataSet has a method <code>.todf()</code> which consumes the dataset and transforms it to a pandas dataframe.</p> <p>Example:</p> <div class="language-python line-numbers-mode"><pre class="language-python"><code><span class="token keyword">from</span> iotdb<span class="token punctuation">.</span>Session <span class="token keyword">import</span> Session
ip <span class="token operator">=</span> <span class="token string">&quot;127.0.0.1&quot;</span>
port_ <span class="token operator">=</span> <span class="token string">&quot;6667&quot;</span>
username_ <span class="token operator">=</span> <span class="token string">&quot;root&quot;</span>
password_ <span class="token operator">=</span> <span class="token string">&quot;root&quot;</span>
session <span class="token operator">=</span> Session<span class="token punctuation">(</span>ip<span class="token punctuation">,</span> port_<span class="token punctuation">,</span> username_<span class="token punctuation">,</span> password_<span class="token punctuation">)</span>
session<span class="token punctuation">.</span><span class="token builtin">open</span><span class="token punctuation">(</span><span class="token boolean">False</span><span class="token punctuation">)</span>
result <span class="token operator">=</span> session<span class="token punctuation">.</span>execute_query_statement<span class="token punctuation">(</span><span class="token string">&quot;SELECT * FROM root.*&quot;</span><span class="token punctuation">)</span>
<span class="token comment"># Transform to Pandas Dataset</span>
df <span class="token operator">=</span> result<span class="token punctuation">.</span>todf<span class="token punctuation">(</span><span class="token punctuation">)</span>
session<span class="token punctuation">.</span>close<span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token comment"># Now you can work with the dataframe</span>
df <span class="token operator">=</span> <span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br></div></div><h3 id="iotdb-testcontainer"><a href="#iotdb-testcontainer" class="header-anchor">#</a> IoTDB Testcontainer</h3> <p>The Test Support is based on the lib <code>testcontainers</code> (https://testcontainers-python.readthedocs.io/en/latest/index.html) which you need to install in your project if you want to use the feature.</p> <p>To start (and stop) an IoTDB Database in a Docker container simply do:</p> <div class="language-python line-numbers-mode"><pre class="language-python"><code><span class="token keyword">class</span> <span class="token class-name">MyTestCase</span><span class="token punctuation">(</span>unittest<span class="token punctuation">.</span>TestCase<span class="token punctuation">)</span><span class="token punctuation">:</span>
<span class="token keyword">def</span> <span class="token function">test_something</span><span class="token punctuation">(</span>self<span class="token punctuation">)</span><span class="token punctuation">:</span>
<span class="token keyword">with</span> IoTDBContainer<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token keyword">as</span> c<span class="token punctuation">:</span>
session <span class="token operator">=</span> Session<span class="token punctuation">(</span><span class="token string">&quot;localhost&quot;</span><span class="token punctuation">,</span> c<span class="token punctuation">.</span>get_exposed_port<span class="token punctuation">(</span><span class="token number">6667</span><span class="token punctuation">)</span><span class="token punctuation">,</span> <span class="token string">&quot;root&quot;</span><span class="token punctuation">,</span> <span class="token string">&quot;root&quot;</span><span class="token punctuation">)</span>
session<span class="token punctuation">.</span><span class="token builtin">open</span><span class="token punctuation">(</span><span class="token boolean">False</span><span class="token punctuation">)</span>
result <span class="token operator">=</span> session<span class="token punctuation">.</span>execute_query_statement<span class="token punctuation">(</span><span class="token string">&quot;SHOW TIMESERIES&quot;</span><span class="token punctuation">)</span>
<span class="token keyword">print</span><span class="token punctuation">(</span>result<span class="token punctuation">)</span>
session<span class="token punctuation">.</span>close<span class="token punctuation">(</span><span class="token punctuation">)</span>
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br></div></div><p>by default it will load the image <code>apache/iotdb:latest</code>, if you want a specific version just pass it like e.g. <code>IoTDBContainer(&quot;apache/iotdb:0.12.0&quot;)</code> to get version <code>0.12.0</code> running.</p> <h2 id="developers"><a href="#developers" class="header-anchor">#</a> Developers</h2> <h3 id="introduction"><a href="#introduction" class="header-anchor">#</a> Introduction</h3> <p>This is an example of how to connect to IoTDB with python, using the thrift rpc interfaces. Things are almost the same on Windows or Linux, but pay attention to the difference like path separator.</p> <h3 id="prerequisites"><a href="#prerequisites" class="header-anchor">#</a> Prerequisites</h3> <p>Python3.7 or later is preferred.</p> <p>You have to install Thrift (0.11.0 or later) to compile our thrift file into python code. Below is the official tutorial of installation, eventually, you should have a thrift executable.</p> <div class="language- line-numbers-mode"><pre class="language-text"><code>http://thrift.apache.org/docs/install/
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div><p>Before starting you need to install <code>requirements_dev.txt</code> in your python environment, e.g. by calling</p> <div class="language-shell line-numbers-mode"><pre class="language-shell"><code>pip <span class="token function">install</span> -r requirements_dev.txt
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div><h3 id="compile-the-thrift-library-and-debug"><a href="#compile-the-thrift-library-and-debug" class="header-anchor">#</a> Compile the thrift library and Debug</h3> <p>In the root of IoTDB's source code folder, run <code>mvn clean generate-sources -pl client-py -am</code>.</p> <p>This will automatically delete and repopulate the folder <code>iotdb/thrift</code> with the generated thrift files.
This folder is ignored from git and should <strong>never be pushed to git!</strong></p> <p><strong>Notice</strong> Do not upload <code>iotdb/thrift</code> to the git repo.</p> <h3 id="session-client-example"><a href="#session-client-example" class="header-anchor">#</a> Session Client &amp; Example</h3> <p>We packed up the Thrift interface in <code>client-py/src/iotdb/Session.py</code> (similar with its Java counterpart), also provided an example file <code>client-py/src/SessionExample.py</code> of how to use the session module. please read it carefully.</p> <p>Or, another simple example:</p> <div class="language-python line-numbers-mode"><pre class="language-python"><code><span class="token keyword">from</span> iotdb<span class="token punctuation">.</span>Session <span class="token keyword">import</span> Session
ip <span class="token operator">=</span> <span class="token string">&quot;127.0.0.1&quot;</span>
port_ <span class="token operator">=</span> <span class="token string">&quot;6667&quot;</span>
username_ <span class="token operator">=</span> <span class="token string">&quot;root&quot;</span>
password_ <span class="token operator">=</span> <span class="token string">&quot;root&quot;</span>
session <span class="token operator">=</span> Session<span class="token punctuation">(</span>ip<span class="token punctuation">,</span> port_<span class="token punctuation">,</span> username_<span class="token punctuation">,</span> password_<span class="token punctuation">)</span>
session<span class="token punctuation">.</span><span class="token builtin">open</span><span class="token punctuation">(</span><span class="token boolean">False</span><span class="token punctuation">)</span>
zone <span class="token operator">=</span> session<span class="token punctuation">.</span>get_time_zone<span class="token punctuation">(</span><span class="token punctuation">)</span>
session<span class="token punctuation">.</span>close<span class="token punctuation">(</span><span class="token punctuation">)</span>
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br></div></div><h3 id="tests"><a href="#tests" class="header-anchor">#</a> Tests</h3> <p>Please add your custom tests in <code>tests</code> folder.</p> <p>To run all defined tests just type <code>pytest .</code> in the root folder.</p> <p><strong>Notice</strong> Some tests need docker to be started on your system as a test instance is started in a docker container using <a href="https://testcontainers-python.readthedocs.io/en/latest/index.html" target="_blank" rel="noopener noreferrer">testcontainers<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>.</p> <h3 id="futher-tools"><a href="#futher-tools" class="header-anchor">#</a> Futher Tools</h3> <p><a href="https://pypi.org/project/black/" target="_blank" rel="noopener noreferrer">black<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a> and <a href="https://pypi.org/project/flake8/" target="_blank" rel="noopener noreferrer">flake8<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a> are installed for autoformatting and linting.
Both can be run by <code>black .</code> or <code>flake8 .</code> respectively.</p> <h2 id="releasing"><a href="#releasing" class="header-anchor">#</a> Releasing</h2> <p>To do a release just ensure that you have the right set of generated thrift files.
Then run linting and auto-formatting.
Then, ensure that all tests work (via <code>pytest .</code>).
Then you are good to go to do a release!</p> <h3 id="preparing-your-environment"><a href="#preparing-your-environment" class="header-anchor">#</a> Preparing your environment</h3> <p>First, install all necessary dev dependencies via <code>pip install -r requirements_dev.txt</code>.</p> <h3 id="doing-the-release"><a href="#doing-the-release" class="header-anchor">#</a> Doing the Release</h3> <p>There is a convenient script <code>release.sh</code> to do all steps for a release.
Namely, these are</p> <ul><li>Remove all transient directories from last release (if exists)</li> <li>(Re-)generate all generated sources via mvn</li> <li>Run Linting (flake8)</li> <li>Run Tests via pytest</li> <li>Build</li> <li>Release to pypi</li></ul></div> <div class="page-nav"><p class="inner"><span class="prev">
<a href="/UserGuide/V0.13.x/API/Programming-Java-Native-API.html" class="prev">
Java Native API
</a></span> <span class="next"><a href="/UserGuide/V0.13.x/API/Programming-Cpp-Native-API.html">
C++ Native API
</a>
</span></p></div> <p style="text-align: center; color: #909399; font-size: 12px; margin: 0 30px;">Copyright © 2022 The Apache Software Foundation.<br>
Apache and the Apache feather logo are trademarks of The Apache Software Foundation</p> <p style="text-align: center; margin-top: 10px; color: #909399; font-size: 12px; margin: 0 30px;"><strong>Have a question?</strong> Connect with us on QQ, WeChat, or Slack. <a href="https://github.com/apache/iotdb/issues/1995">Join the community</a> now.</p> <p style="text-align: center; margin-top: 10px; color: #909399; font-size: 12px; margin: 0 30px;">
We use <a href="https://analytics.google.com">Google Analytics</a> to collect anonymous, aggregated usage information.
</p></main></div><div class="global-ui"></div></div>
<script src="/assets/js/app.be0ba21e.js" defer></script><script src="/assets/js/3.c8384d0b.js" defer></script><script src="/assets/js/278.0d0b6326.js" defer></script>
</body>
</html>