blob: a39f4e5df3abe771de79852fe797b46547ebb78b [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.7.1">
<link rel="icon" href="/favicon.ico">
<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.679f71b6.css" as="style"><link rel="preload" href="/assets/js/app.ee472f44.js" as="script"><link rel="preload" href="/assets/js/3.49f0f20a.js" as="script"><link rel="preload" href="/assets/js/33.00e7d6b5.js" as="script"><link rel="prefetch" href="/assets/js/10.a9e4399a.js"><link rel="prefetch" href="/assets/js/100.68c72120.js"><link rel="prefetch" href="/assets/js/101.b6fa0a59.js"><link rel="prefetch" href="/assets/js/102.a64e2bb2.js"><link rel="prefetch" href="/assets/js/103.3e232964.js"><link rel="prefetch" href="/assets/js/104.12a0c146.js"><link rel="prefetch" href="/assets/js/105.c82addea.js"><link rel="prefetch" href="/assets/js/106.d95539e1.js"><link rel="prefetch" href="/assets/js/107.3a8e4204.js"><link rel="prefetch" href="/assets/js/108.445910dc.js"><link rel="prefetch" href="/assets/js/109.e592a10a.js"><link rel="prefetch" href="/assets/js/11.1a825151.js"><link rel="prefetch" href="/assets/js/110.f2ff7f26.js"><link rel="prefetch" href="/assets/js/111.ce7b4bb8.js"><link rel="prefetch" href="/assets/js/112.c0fb665c.js"><link rel="prefetch" href="/assets/js/113.27feecaf.js"><link rel="prefetch" href="/assets/js/114.4610bfa2.js"><link rel="prefetch" href="/assets/js/115.0857c1d6.js"><link rel="prefetch" href="/assets/js/116.530d568b.js"><link rel="prefetch" href="/assets/js/117.9deade83.js"><link rel="prefetch" href="/assets/js/118.cbb62265.js"><link rel="prefetch" href="/assets/js/119.8822d43b.js"><link rel="prefetch" href="/assets/js/12.4679de68.js"><link rel="prefetch" href="/assets/js/120.355ddd53.js"><link rel="prefetch" href="/assets/js/121.94505f4a.js"><link rel="prefetch" href="/assets/js/122.6c825584.js"><link rel="prefetch" href="/assets/js/123.d2965d60.js"><link rel="prefetch" href="/assets/js/124.bb17af3e.js"><link rel="prefetch" href="/assets/js/125.a523475b.js"><link rel="prefetch" href="/assets/js/126.309eb2a0.js"><link rel="prefetch" href="/assets/js/127.31f131d5.js"><link rel="prefetch" href="/assets/js/128.d6961094.js"><link rel="prefetch" href="/assets/js/129.9f80c586.js"><link rel="prefetch" href="/assets/js/13.821d2576.js"><link rel="prefetch" href="/assets/js/130.8b3034e2.js"><link rel="prefetch" href="/assets/js/131.5c952a0b.js"><link rel="prefetch" href="/assets/js/132.9b312915.js"><link rel="prefetch" href="/assets/js/133.229545d4.js"><link rel="prefetch" href="/assets/js/134.6ef84d4d.js"><link rel="prefetch" href="/assets/js/135.63dcccc3.js"><link rel="prefetch" href="/assets/js/136.693bbb9e.js"><link rel="prefetch" href="/assets/js/137.065787a2.js"><link rel="prefetch" href="/assets/js/138.199d56aa.js"><link rel="prefetch" href="/assets/js/139.93368911.js"><link rel="prefetch" href="/assets/js/14.f2409887.js"><link rel="prefetch" href="/assets/js/140.cb3339d6.js"><link rel="prefetch" href="/assets/js/141.0ffa040d.js"><link rel="prefetch" href="/assets/js/142.c3e197d4.js"><link rel="prefetch" href="/assets/js/143.9e4dc6ae.js"><link rel="prefetch" href="/assets/js/144.27249482.js"><link rel="prefetch" href="/assets/js/145.f9305e04.js"><link rel="prefetch" href="/assets/js/146.a953796c.js"><link rel="prefetch" href="/assets/js/147.5ffa8a4e.js"><link rel="prefetch" href="/assets/js/148.5f5c0ad8.js"><link rel="prefetch" href="/assets/js/149.6690aae1.js"><link rel="prefetch" href="/assets/js/15.9354febe.js"><link rel="prefetch" href="/assets/js/150.36dae2d3.js"><link rel="prefetch" href="/assets/js/151.2ca29374.js"><link rel="prefetch" href="/assets/js/152.fceb9b61.js"><link rel="prefetch" href="/assets/js/153.93489dbc.js"><link rel="prefetch" href="/assets/js/154.d9c14ff8.js"><link rel="prefetch" href="/assets/js/155.b6eec7f7.js"><link rel="prefetch" href="/assets/js/156.8718f8bc.js"><link rel="prefetch" href="/assets/js/157.8484231e.js"><link rel="prefetch" href="/assets/js/158.d1755131.js"><link rel="prefetch" href="/assets/js/159.8a8be7d5.js"><link rel="prefetch" href="/assets/js/16.590590ab.js"><link rel="prefetch" href="/assets/js/160.67e2efd2.js"><link rel="prefetch" href="/assets/js/161.0e22ffff.js"><link rel="prefetch" href="/assets/js/162.f47c5fdc.js"><link rel="prefetch" href="/assets/js/163.da74b426.js"><link rel="prefetch" href="/assets/js/164.f88f06d5.js"><link rel="prefetch" href="/assets/js/165.9a1b5b41.js"><link rel="prefetch" href="/assets/js/166.8832a7a4.js"><link rel="prefetch" href="/assets/js/167.ff58fb1f.js"><link rel="prefetch" href="/assets/js/168.9a351c30.js"><link rel="prefetch" href="/assets/js/169.23c06c42.js"><link rel="prefetch" href="/assets/js/17.4cb5664d.js"><link rel="prefetch" href="/assets/js/170.ea0af6cf.js"><link rel="prefetch" href="/assets/js/171.e11e1bb7.js"><link rel="prefetch" href="/assets/js/172.273f4d56.js"><link rel="prefetch" href="/assets/js/173.fca03089.js"><link rel="prefetch" href="/assets/js/174.434334ff.js"><link rel="prefetch" href="/assets/js/175.a8acb6b2.js"><link rel="prefetch" href="/assets/js/176.a1c55473.js"><link rel="prefetch" href="/assets/js/177.ebb38cec.js"><link rel="prefetch" href="/assets/js/178.79b8a327.js"><link rel="prefetch" href="/assets/js/179.6319af14.js"><link rel="prefetch" href="/assets/js/18.f5fe433e.js"><link rel="prefetch" href="/assets/js/180.28a1d783.js"><link rel="prefetch" href="/assets/js/181.a29f39c5.js"><link rel="prefetch" href="/assets/js/182.9f3d9c76.js"><link rel="prefetch" href="/assets/js/183.338ae9a8.js"><link rel="prefetch" href="/assets/js/184.18c28159.js"><link rel="prefetch" href="/assets/js/185.05381100.js"><link rel="prefetch" href="/assets/js/186.ce9412eb.js"><link rel="prefetch" href="/assets/js/187.30a80942.js"><link rel="prefetch" href="/assets/js/188.5a77f986.js"><link rel="prefetch" href="/assets/js/189.f34dc967.js"><link rel="prefetch" href="/assets/js/19.d02f7224.js"><link rel="prefetch" href="/assets/js/190.d9762047.js"><link rel="prefetch" href="/assets/js/191.8c52689f.js"><link rel="prefetch" href="/assets/js/192.10ae9786.js"><link rel="prefetch" href="/assets/js/193.4a83ff5f.js"><link rel="prefetch" href="/assets/js/194.1d9f888b.js"><link rel="prefetch" href="/assets/js/195.ac95d80c.js"><link rel="prefetch" href="/assets/js/196.305a7cc8.js"><link rel="prefetch" href="/assets/js/197.3950b155.js"><link rel="prefetch" href="/assets/js/198.60367e76.js"><link rel="prefetch" href="/assets/js/199.a5eec1cf.js"><link rel="prefetch" href="/assets/js/20.02900ba2.js"><link rel="prefetch" href="/assets/js/200.7b42f970.js"><link rel="prefetch" href="/assets/js/201.c176b7b8.js"><link rel="prefetch" href="/assets/js/202.eb6989b5.js"><link rel="prefetch" href="/assets/js/203.77522ed7.js"><link rel="prefetch" href="/assets/js/204.d5e4c11b.js"><link rel="prefetch" href="/assets/js/205.b174d51b.js"><link rel="prefetch" href="/assets/js/206.4c489028.js"><link rel="prefetch" href="/assets/js/207.afdf032a.js"><link rel="prefetch" href="/assets/js/208.e5a0bdd5.js"><link rel="prefetch" href="/assets/js/209.67c9cab8.js"><link rel="prefetch" href="/assets/js/21.3b6ef7f6.js"><link rel="prefetch" href="/assets/js/210.99085605.js"><link rel="prefetch" href="/assets/js/211.62045ced.js"><link rel="prefetch" href="/assets/js/212.5d4b9b33.js"><link rel="prefetch" href="/assets/js/213.8d2fc243.js"><link rel="prefetch" href="/assets/js/214.081b8259.js"><link rel="prefetch" href="/assets/js/215.a9c42b7b.js"><link rel="prefetch" href="/assets/js/216.e4177064.js"><link rel="prefetch" href="/assets/js/217.00d389be.js"><link rel="prefetch" href="/assets/js/218.53691557.js"><link rel="prefetch" href="/assets/js/219.fce8476d.js"><link rel="prefetch" href="/assets/js/22.ab7a2af8.js"><link rel="prefetch" href="/assets/js/220.8ca717ad.js"><link rel="prefetch" href="/assets/js/221.b774095e.js"><link rel="prefetch" href="/assets/js/222.abb49f0a.js"><link rel="prefetch" href="/assets/js/223.506eb112.js"><link rel="prefetch" href="/assets/js/224.7e33133f.js"><link rel="prefetch" href="/assets/js/225.4443cf9b.js"><link rel="prefetch" href="/assets/js/226.5d64564f.js"><link rel="prefetch" href="/assets/js/227.e647cf42.js"><link rel="prefetch" href="/assets/js/228.7b8e1561.js"><link rel="prefetch" href="/assets/js/229.c6b936b3.js"><link rel="prefetch" href="/assets/js/23.b428286f.js"><link rel="prefetch" href="/assets/js/230.484dfbbc.js"><link rel="prefetch" href="/assets/js/231.04cb07f3.js"><link rel="prefetch" href="/assets/js/232.cb5f7cf4.js"><link rel="prefetch" href="/assets/js/233.fd5563aa.js"><link rel="prefetch" href="/assets/js/234.bf0c8bd7.js"><link rel="prefetch" href="/assets/js/235.c910d0ff.js"><link rel="prefetch" href="/assets/js/236.2fa96a32.js"><link rel="prefetch" href="/assets/js/237.4d40bac8.js"><link rel="prefetch" href="/assets/js/238.8f8a5f39.js"><link rel="prefetch" href="/assets/js/239.8c8e2f64.js"><link rel="prefetch" href="/assets/js/24.a3749d36.js"><link rel="prefetch" href="/assets/js/240.b662bcd8.js"><link rel="prefetch" href="/assets/js/241.04b9e3ed.js"><link rel="prefetch" href="/assets/js/242.bae1b833.js"><link rel="prefetch" href="/assets/js/243.174da90a.js"><link rel="prefetch" href="/assets/js/244.1ad856fc.js"><link rel="prefetch" href="/assets/js/245.a622849c.js"><link rel="prefetch" href="/assets/js/246.dc04cc61.js"><link rel="prefetch" href="/assets/js/247.d9f48a2f.js"><link rel="prefetch" href="/assets/js/248.85018b5a.js"><link rel="prefetch" href="/assets/js/249.6ba9e6c7.js"><link rel="prefetch" href="/assets/js/25.bc6a97e8.js"><link rel="prefetch" href="/assets/js/250.9ca65c13.js"><link rel="prefetch" href="/assets/js/251.8f4abe5e.js"><link rel="prefetch" href="/assets/js/252.cb8b4901.js"><link rel="prefetch" href="/assets/js/253.e43c464a.js"><link rel="prefetch" href="/assets/js/254.bc5748be.js"><link rel="prefetch" href="/assets/js/255.ad9c3e74.js"><link rel="prefetch" href="/assets/js/256.48bf6b1c.js"><link rel="prefetch" href="/assets/js/257.aae9e4a7.js"><link rel="prefetch" href="/assets/js/258.d27a0224.js"><link rel="prefetch" href="/assets/js/259.8b338cff.js"><link rel="prefetch" href="/assets/js/26.81ae73cb.js"><link rel="prefetch" href="/assets/js/260.9302e533.js"><link rel="prefetch" href="/assets/js/261.ea1ed48a.js"><link rel="prefetch" href="/assets/js/262.08d81cca.js"><link rel="prefetch" href="/assets/js/263.c2598230.js"><link rel="prefetch" href="/assets/js/264.89fadf4b.js"><link rel="prefetch" href="/assets/js/265.9e7e3b87.js"><link rel="prefetch" href="/assets/js/266.63098760.js"><link rel="prefetch" href="/assets/js/267.df285aaf.js"><link rel="prefetch" href="/assets/js/268.56ef99a0.js"><link rel="prefetch" href="/assets/js/269.86c3bd00.js"><link rel="prefetch" href="/assets/js/27.5361988c.js"><link rel="prefetch" href="/assets/js/270.69d8c77d.js"><link rel="prefetch" href="/assets/js/271.49550e05.js"><link rel="prefetch" href="/assets/js/272.bf7fe25a.js"><link rel="prefetch" href="/assets/js/273.bac87430.js"><link rel="prefetch" href="/assets/js/274.1a5b6778.js"><link rel="prefetch" href="/assets/js/275.59d1fe0c.js"><link rel="prefetch" href="/assets/js/276.c21f1bb7.js"><link rel="prefetch" href="/assets/js/277.3416c059.js"><link rel="prefetch" href="/assets/js/278.1e47cbc9.js"><link rel="prefetch" href="/assets/js/279.a285ca6b.js"><link rel="prefetch" href="/assets/js/28.902cf242.js"><link rel="prefetch" href="/assets/js/280.b1cfd58b.js"><link rel="prefetch" href="/assets/js/281.5014dd8c.js"><link rel="prefetch" href="/assets/js/282.f46c3f5f.js"><link rel="prefetch" href="/assets/js/283.c8fa806b.js"><link rel="prefetch" href="/assets/js/284.1bca3237.js"><link rel="prefetch" href="/assets/js/285.ca102a1f.js"><link rel="prefetch" href="/assets/js/286.312b549d.js"><link rel="prefetch" href="/assets/js/287.56daf71d.js"><link rel="prefetch" href="/assets/js/288.4d6ee237.js"><link rel="prefetch" href="/assets/js/289.8990a52d.js"><link rel="prefetch" href="/assets/js/29.8878a84b.js"><link rel="prefetch" href="/assets/js/290.79c4d4bb.js"><link rel="prefetch" href="/assets/js/291.e39a8f59.js"><link rel="prefetch" href="/assets/js/292.09b1dbf3.js"><link rel="prefetch" href="/assets/js/293.c11758cc.js"><link rel="prefetch" href="/assets/js/294.efe1c620.js"><link rel="prefetch" href="/assets/js/295.9a4ce682.js"><link rel="prefetch" href="/assets/js/296.5d55e2b4.js"><link rel="prefetch" href="/assets/js/297.0c74b494.js"><link rel="prefetch" href="/assets/js/298.61015025.js"><link rel="prefetch" href="/assets/js/299.95b2a709.js"><link rel="prefetch" href="/assets/js/30.144a5c6c.js"><link rel="prefetch" href="/assets/js/300.1ded6f5a.js"><link rel="prefetch" href="/assets/js/301.0c60ca57.js"><link rel="prefetch" href="/assets/js/302.a4e4ce29.js"><link rel="prefetch" href="/assets/js/303.f51290d8.js"><link rel="prefetch" href="/assets/js/304.5b9d354a.js"><link rel="prefetch" href="/assets/js/305.4fc3fa36.js"><link rel="prefetch" href="/assets/js/306.d2ccf3d8.js"><link rel="prefetch" href="/assets/js/307.137ddc6c.js"><link rel="prefetch" href="/assets/js/308.d093842e.js"><link rel="prefetch" href="/assets/js/309.8d85e9c5.js"><link rel="prefetch" href="/assets/js/31.03034f21.js"><link rel="prefetch" href="/assets/js/310.610cadf2.js"><link rel="prefetch" href="/assets/js/311.3f9bc269.js"><link rel="prefetch" href="/assets/js/312.ac085561.js"><link rel="prefetch" href="/assets/js/313.39e131a4.js"><link rel="prefetch" href="/assets/js/314.62ae7afd.js"><link rel="prefetch" href="/assets/js/315.312dd0ad.js"><link rel="prefetch" href="/assets/js/316.3daa3b97.js"><link rel="prefetch" href="/assets/js/317.385cce00.js"><link rel="prefetch" href="/assets/js/318.6e75f908.js"><link rel="prefetch" href="/assets/js/319.4a8516ae.js"><link rel="prefetch" href="/assets/js/32.bad93e79.js"><link rel="prefetch" href="/assets/js/320.e6ea8799.js"><link rel="prefetch" href="/assets/js/321.c192a35e.js"><link rel="prefetch" href="/assets/js/322.c675d3fd.js"><link rel="prefetch" href="/assets/js/323.cf867cd9.js"><link rel="prefetch" href="/assets/js/324.38af9dd2.js"><link rel="prefetch" href="/assets/js/325.dd39b2de.js"><link rel="prefetch" href="/assets/js/326.b3197783.js"><link rel="prefetch" href="/assets/js/327.7ab3256f.js"><link rel="prefetch" href="/assets/js/328.a51703c6.js"><link rel="prefetch" href="/assets/js/329.d4f2f214.js"><link rel="prefetch" href="/assets/js/330.1fb7bbad.js"><link rel="prefetch" href="/assets/js/331.52605dbf.js"><link rel="prefetch" href="/assets/js/332.58cff2f4.js"><link rel="prefetch" href="/assets/js/333.fa7136ab.js"><link rel="prefetch" href="/assets/js/334.0de0062b.js"><link rel="prefetch" href="/assets/js/335.a5e18bb9.js"><link rel="prefetch" href="/assets/js/336.448ec9fa.js"><link rel="prefetch" href="/assets/js/337.c877f6df.js"><link rel="prefetch" href="/assets/js/338.e071e415.js"><link rel="prefetch" href="/assets/js/339.194f47f4.js"><link rel="prefetch" href="/assets/js/34.44ac5494.js"><link rel="prefetch" href="/assets/js/340.5755d00b.js"><link rel="prefetch" href="/assets/js/341.070a9aed.js"><link rel="prefetch" href="/assets/js/342.35edcb5e.js"><link rel="prefetch" href="/assets/js/343.a86abe3e.js"><link rel="prefetch" href="/assets/js/344.22456a86.js"><link rel="prefetch" href="/assets/js/345.054131fa.js"><link rel="prefetch" href="/assets/js/346.d850e5ce.js"><link rel="prefetch" href="/assets/js/347.7b8936a1.js"><link rel="prefetch" href="/assets/js/348.5ee2b670.js"><link rel="prefetch" href="/assets/js/349.f37573c7.js"><link rel="prefetch" href="/assets/js/35.7f32ce73.js"><link rel="prefetch" href="/assets/js/350.312ee288.js"><link rel="prefetch" href="/assets/js/351.aabc93dc.js"><link rel="prefetch" href="/assets/js/352.99aa4418.js"><link rel="prefetch" href="/assets/js/353.9c90d422.js"><link rel="prefetch" href="/assets/js/354.8a7c72b5.js"><link rel="prefetch" href="/assets/js/355.1008fd17.js"><link rel="prefetch" href="/assets/js/356.546f7242.js"><link rel="prefetch" href="/assets/js/357.3f84c383.js"><link rel="prefetch" href="/assets/js/358.57ab0f48.js"><link rel="prefetch" href="/assets/js/359.715ee9c0.js"><link rel="prefetch" href="/assets/js/36.d1e9d19f.js"><link rel="prefetch" href="/assets/js/360.92093399.js"><link rel="prefetch" href="/assets/js/361.8e8a2657.js"><link rel="prefetch" href="/assets/js/362.c6796915.js"><link rel="prefetch" href="/assets/js/363.e17af86a.js"><link rel="prefetch" href="/assets/js/364.6274b87c.js"><link rel="prefetch" href="/assets/js/365.211ac0fc.js"><link rel="prefetch" href="/assets/js/366.e5297f1f.js"><link rel="prefetch" href="/assets/js/367.d778a1f0.js"><link rel="prefetch" href="/assets/js/368.d55765fc.js"><link rel="prefetch" href="/assets/js/369.d357817a.js"><link rel="prefetch" href="/assets/js/37.3351af87.js"><link rel="prefetch" href="/assets/js/370.14439cd0.js"><link rel="prefetch" href="/assets/js/371.8f1680c9.js"><link rel="prefetch" href="/assets/js/372.61718293.js"><link rel="prefetch" href="/assets/js/373.4b4647e8.js"><link rel="prefetch" href="/assets/js/374.71d42042.js"><link rel="prefetch" href="/assets/js/375.e4d369f2.js"><link rel="prefetch" href="/assets/js/376.51cd667f.js"><link rel="prefetch" href="/assets/js/377.023da5c6.js"><link rel="prefetch" href="/assets/js/378.726a5f82.js"><link rel="prefetch" href="/assets/js/379.720646dc.js"><link rel="prefetch" href="/assets/js/38.2334aea2.js"><link rel="prefetch" href="/assets/js/380.4d823b98.js"><link rel="prefetch" href="/assets/js/381.bdcccbea.js"><link rel="prefetch" href="/assets/js/382.8cce8942.js"><link rel="prefetch" href="/assets/js/383.cb7d71d3.js"><link rel="prefetch" href="/assets/js/384.bf2af7c5.js"><link rel="prefetch" href="/assets/js/385.1cc639e2.js"><link rel="prefetch" href="/assets/js/386.684b64ab.js"><link rel="prefetch" href="/assets/js/387.e16f4a68.js"><link rel="prefetch" href="/assets/js/388.c9b30f3b.js"><link rel="prefetch" href="/assets/js/389.a8b0f99a.js"><link rel="prefetch" href="/assets/js/39.683bc07a.js"><link rel="prefetch" href="/assets/js/390.b43004ff.js"><link rel="prefetch" href="/assets/js/391.c316049a.js"><link rel="prefetch" href="/assets/js/392.2c559de6.js"><link rel="prefetch" href="/assets/js/393.3055fc0a.js"><link rel="prefetch" href="/assets/js/394.7585ce4c.js"><link rel="prefetch" href="/assets/js/395.6f04bac1.js"><link rel="prefetch" href="/assets/js/396.a6536f32.js"><link rel="prefetch" href="/assets/js/397.e9807e10.js"><link rel="prefetch" href="/assets/js/398.b89dcc8a.js"><link rel="prefetch" href="/assets/js/399.da459f94.js"><link rel="prefetch" href="/assets/js/4.47196852.js"><link rel="prefetch" href="/assets/js/40.f2d861cf.js"><link rel="prefetch" href="/assets/js/400.d8b3b5fd.js"><link rel="prefetch" href="/assets/js/401.4a5b409e.js"><link rel="prefetch" href="/assets/js/402.f2c8802d.js"><link rel="prefetch" href="/assets/js/403.bd98e777.js"><link rel="prefetch" href="/assets/js/404.d2dab4f7.js"><link rel="prefetch" href="/assets/js/405.f83ce379.js"><link rel="prefetch" href="/assets/js/406.69a91345.js"><link rel="prefetch" href="/assets/js/407.3bc1a860.js"><link rel="prefetch" href="/assets/js/408.8b88a93c.js"><link rel="prefetch" href="/assets/js/409.269ef2c9.js"><link rel="prefetch" href="/assets/js/41.79fbb067.js"><link rel="prefetch" href="/assets/js/410.40dc1b76.js"><link rel="prefetch" href="/assets/js/411.6679eea2.js"><link rel="prefetch" href="/assets/js/412.2cdd21ea.js"><link rel="prefetch" href="/assets/js/413.f5418356.js"><link rel="prefetch" href="/assets/js/414.ed9da9ad.js"><link rel="prefetch" href="/assets/js/415.4cd14246.js"><link rel="prefetch" href="/assets/js/416.cd80178b.js"><link rel="prefetch" href="/assets/js/417.d650a560.js"><link rel="prefetch" href="/assets/js/418.ad71cbc7.js"><link rel="prefetch" href="/assets/js/419.8e6c87c0.js"><link rel="prefetch" href="/assets/js/42.101ecd13.js"><link rel="prefetch" href="/assets/js/420.71ec69ad.js"><link rel="prefetch" href="/assets/js/421.91d6b7be.js"><link rel="prefetch" href="/assets/js/422.353f77c5.js"><link rel="prefetch" href="/assets/js/423.60ef06c0.js"><link rel="prefetch" href="/assets/js/424.2e57687c.js"><link rel="prefetch" href="/assets/js/425.9413632b.js"><link rel="prefetch" href="/assets/js/426.e1b29e8b.js"><link rel="prefetch" href="/assets/js/427.ed640a0c.js"><link rel="prefetch" href="/assets/js/428.90a9eecd.js"><link rel="prefetch" href="/assets/js/429.bcc51151.js"><link rel="prefetch" href="/assets/js/43.cf663bf1.js"><link rel="prefetch" href="/assets/js/430.d7a129bf.js"><link rel="prefetch" href="/assets/js/431.6f0b95f4.js"><link rel="prefetch" href="/assets/js/432.c9964a14.js"><link rel="prefetch" href="/assets/js/433.fb0bc3bb.js"><link rel="prefetch" href="/assets/js/434.cbb78303.js"><link rel="prefetch" href="/assets/js/435.7633d592.js"><link rel="prefetch" href="/assets/js/436.dd3d00e6.js"><link rel="prefetch" href="/assets/js/437.40a87461.js"><link rel="prefetch" href="/assets/js/438.640ceed6.js"><link rel="prefetch" href="/assets/js/439.4bc626d3.js"><link rel="prefetch" href="/assets/js/44.0e34047e.js"><link rel="prefetch" href="/assets/js/440.840fff96.js"><link rel="prefetch" href="/assets/js/441.e8e14977.js"><link rel="prefetch" href="/assets/js/442.0f0a17b6.js"><link rel="prefetch" href="/assets/js/443.44c2279e.js"><link rel="prefetch" href="/assets/js/444.6d775f58.js"><link rel="prefetch" href="/assets/js/445.dfec1767.js"><link rel="prefetch" href="/assets/js/446.8282b220.js"><link rel="prefetch" href="/assets/js/447.4b8f1a4c.js"><link rel="prefetch" href="/assets/js/448.03b53f95.js"><link rel="prefetch" href="/assets/js/449.39dea464.js"><link rel="prefetch" href="/assets/js/45.fa02a8c0.js"><link rel="prefetch" href="/assets/js/450.948c5957.js"><link rel="prefetch" href="/assets/js/451.b4e00223.js"><link rel="prefetch" href="/assets/js/452.634de921.js"><link rel="prefetch" href="/assets/js/453.957a3638.js"><link rel="prefetch" href="/assets/js/454.d410cf71.js"><link rel="prefetch" href="/assets/js/455.8c5a2163.js"><link rel="prefetch" href="/assets/js/456.877d611f.js"><link rel="prefetch" href="/assets/js/457.8b24b950.js"><link rel="prefetch" href="/assets/js/458.591d759d.js"><link rel="prefetch" href="/assets/js/459.e114c85b.js"><link rel="prefetch" href="/assets/js/46.3a265755.js"><link rel="prefetch" href="/assets/js/460.1a928144.js"><link rel="prefetch" href="/assets/js/461.2a0384d2.js"><link rel="prefetch" href="/assets/js/462.5c3649e2.js"><link rel="prefetch" href="/assets/js/463.4221227c.js"><link rel="prefetch" href="/assets/js/464.866ac902.js"><link rel="prefetch" href="/assets/js/465.05a96c32.js"><link rel="prefetch" href="/assets/js/466.3efed881.js"><link rel="prefetch" href="/assets/js/467.ddd524e5.js"><link rel="prefetch" href="/assets/js/468.9eebe3d9.js"><link rel="prefetch" href="/assets/js/469.281b53ec.js"><link rel="prefetch" href="/assets/js/47.2d120101.js"><link rel="prefetch" href="/assets/js/470.decda882.js"><link rel="prefetch" href="/assets/js/471.242be672.js"><link rel="prefetch" href="/assets/js/472.da4abae1.js"><link rel="prefetch" href="/assets/js/473.9d64ea3e.js"><link rel="prefetch" href="/assets/js/474.5362ec5b.js"><link rel="prefetch" href="/assets/js/475.6904e585.js"><link rel="prefetch" href="/assets/js/476.c460d90a.js"><link rel="prefetch" href="/assets/js/477.474813fa.js"><link rel="prefetch" href="/assets/js/478.d51e07b1.js"><link rel="prefetch" href="/assets/js/479.f0fa0689.js"><link rel="prefetch" href="/assets/js/48.57af7d42.js"><link rel="prefetch" href="/assets/js/480.8b194bbe.js"><link rel="prefetch" href="/assets/js/481.f2f1aeeb.js"><link rel="prefetch" href="/assets/js/482.6903e11b.js"><link rel="prefetch" href="/assets/js/483.65d04ad9.js"><link rel="prefetch" href="/assets/js/484.51e94629.js"><link rel="prefetch" href="/assets/js/485.415550f4.js"><link rel="prefetch" href="/assets/js/486.d24d0355.js"><link rel="prefetch" href="/assets/js/487.9eea1be6.js"><link rel="prefetch" href="/assets/js/488.eb3d4584.js"><link rel="prefetch" href="/assets/js/489.6f97c453.js"><link rel="prefetch" href="/assets/js/49.3de3d3a7.js"><link rel="prefetch" href="/assets/js/490.e83cd7f7.js"><link rel="prefetch" href="/assets/js/491.4a6acdf2.js"><link rel="prefetch" href="/assets/js/492.e0548c45.js"><link rel="prefetch" href="/assets/js/493.29b0d0b2.js"><link rel="prefetch" href="/assets/js/494.9f66922c.js"><link rel="prefetch" href="/assets/js/495.31a136ac.js"><link rel="prefetch" href="/assets/js/496.4c1f303f.js"><link rel="prefetch" href="/assets/js/497.b03e6c3f.js"><link rel="prefetch" href="/assets/js/498.a8178b3e.js"><link rel="prefetch" href="/assets/js/499.9f38526a.js"><link rel="prefetch" href="/assets/js/5.33db7f08.js"><link rel="prefetch" href="/assets/js/50.27055b53.js"><link rel="prefetch" href="/assets/js/500.262b9103.js"><link rel="prefetch" href="/assets/js/501.c97f4e75.js"><link rel="prefetch" href="/assets/js/502.5d5c5edd.js"><link rel="prefetch" href="/assets/js/503.62a2a01d.js"><link rel="prefetch" href="/assets/js/504.855415b5.js"><link rel="prefetch" href="/assets/js/505.79d4fddb.js"><link rel="prefetch" href="/assets/js/506.f2675378.js"><link rel="prefetch" href="/assets/js/507.7d811dcb.js"><link rel="prefetch" href="/assets/js/508.6c63d710.js"><link rel="prefetch" href="/assets/js/509.a6dbe871.js"><link rel="prefetch" href="/assets/js/51.82e12c0c.js"><link rel="prefetch" href="/assets/js/510.6ba536a4.js"><link rel="prefetch" href="/assets/js/511.47fcc7dd.js"><link rel="prefetch" href="/assets/js/512.f5b2b05c.js"><link rel="prefetch" href="/assets/js/513.d1a9a405.js"><link rel="prefetch" href="/assets/js/514.4768319a.js"><link rel="prefetch" href="/assets/js/515.4a7312b1.js"><link rel="prefetch" href="/assets/js/516.2a75898b.js"><link rel="prefetch" href="/assets/js/517.0734d077.js"><link rel="prefetch" href="/assets/js/518.a0affa56.js"><link rel="prefetch" href="/assets/js/519.3b143230.js"><link rel="prefetch" href="/assets/js/52.08471186.js"><link rel="prefetch" href="/assets/js/520.98088423.js"><link rel="prefetch" href="/assets/js/521.09d6f9e3.js"><link rel="prefetch" href="/assets/js/522.0a7f1cfd.js"><link rel="prefetch" href="/assets/js/523.460a682d.js"><link rel="prefetch" href="/assets/js/53.81c949e4.js"><link rel="prefetch" href="/assets/js/54.23834020.js"><link rel="prefetch" href="/assets/js/55.98bddbab.js"><link rel="prefetch" href="/assets/js/56.f33c89be.js"><link rel="prefetch" href="/assets/js/57.974b4102.js"><link rel="prefetch" href="/assets/js/58.e357e1b7.js"><link rel="prefetch" href="/assets/js/59.1cf2f460.js"><link rel="prefetch" href="/assets/js/6.d37d398a.js"><link rel="prefetch" href="/assets/js/60.bccde908.js"><link rel="prefetch" href="/assets/js/61.33679650.js"><link rel="prefetch" href="/assets/js/62.fe42a718.js"><link rel="prefetch" href="/assets/js/63.910cc28d.js"><link rel="prefetch" href="/assets/js/64.3a046b10.js"><link rel="prefetch" href="/assets/js/65.6bc58366.js"><link rel="prefetch" href="/assets/js/66.29ed3089.js"><link rel="prefetch" href="/assets/js/67.3a4a22d1.js"><link rel="prefetch" href="/assets/js/68.05fa411c.js"><link rel="prefetch" href="/assets/js/69.44dfc2db.js"><link rel="prefetch" href="/assets/js/7.8c733af6.js"><link rel="prefetch" href="/assets/js/70.059cdd51.js"><link rel="prefetch" href="/assets/js/71.d58561d2.js"><link rel="prefetch" href="/assets/js/72.056ba678.js"><link rel="prefetch" href="/assets/js/73.25916778.js"><link rel="prefetch" href="/assets/js/74.1f1823dc.js"><link rel="prefetch" href="/assets/js/75.2f5b0b73.js"><link rel="prefetch" href="/assets/js/76.06e76fe6.js"><link rel="prefetch" href="/assets/js/77.206d48bf.js"><link rel="prefetch" href="/assets/js/78.2f07e42d.js"><link rel="prefetch" href="/assets/js/79.994c527d.js"><link rel="prefetch" href="/assets/js/8.e8c4adeb.js"><link rel="prefetch" href="/assets/js/80.82c6c4f9.js"><link rel="prefetch" href="/assets/js/81.83bd28d9.js"><link rel="prefetch" href="/assets/js/82.7fbb77e1.js"><link rel="prefetch" href="/assets/js/83.e5773686.js"><link rel="prefetch" href="/assets/js/84.13db35cf.js"><link rel="prefetch" href="/assets/js/85.e6a2aa9d.js"><link rel="prefetch" href="/assets/js/86.715ac425.js"><link rel="prefetch" href="/assets/js/87.10b54644.js"><link rel="prefetch" href="/assets/js/88.477faa20.js"><link rel="prefetch" href="/assets/js/89.a562feda.js"><link rel="prefetch" href="/assets/js/9.635384b9.js"><link rel="prefetch" href="/assets/js/90.c7874d64.js"><link rel="prefetch" href="/assets/js/91.e61cbe07.js"><link rel="prefetch" href="/assets/js/92.45b11d5e.js"><link rel="prefetch" href="/assets/js/93.f587deb4.js"><link rel="prefetch" href="/assets/js/94.19940b43.js"><link rel="prefetch" href="/assets/js/95.d9763768.js"><link rel="prefetch" href="/assets/js/96.3ed0322b.js"><link rel="prefetch" href="/assets/js/97.d368e630.js"><link rel="prefetch" href="/assets/js/98.8b86b8af.js"><link rel="prefetch" href="/assets/js/99.53eb946a.js"><link rel="prefetch" href="/assets/js/vendors~docsearch.262891fb.js">
<link rel="stylesheet" href="/assets/css/0.styles.679f71b6.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">Document</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/UserGuide/Master/Get Started/QuickStart.html" class="nav-link">In progress</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="/SystemDesign/Architecture/Architecture.html" class="nav-link">System 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="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/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/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">Blog</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/Blog/Index.html" class="nav-link">Overview</a></li><li class="dropdown-item"><!----> <a href="/Blog/Release0_93.html" class="nav-link">Some Notes on Release 0.9.3 and upcoming 0.10.0</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="/SystemDesign/DataQuery/FillFunction.html" aria-current="page" class="nav-link router-link-exact-active router-link-active">English</a></li><li class="dropdown-item"><!----> <a href="/zh/SystemDesign/DataQuery/FillFunction.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">Document</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/UserGuide/Master/Get Started/QuickStart.html" class="nav-link">In progress</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="/SystemDesign/Architecture/Architecture.html" class="nav-link">System 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="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/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/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">Blog</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/Blog/Index.html" class="nav-link">Overview</a></li><li class="dropdown-item"><!----> <a href="/Blog/Release0_93.html" class="nav-link">Some Notes on Release 0.9.3 and upcoming 0.10.0</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="/SystemDesign/DataQuery/FillFunction.html" aria-current="page" class="nav-link router-link-exact-active router-link-active">English</a></li><li class="dropdown-item"><!----> <a href="/zh/SystemDesign/DataQuery/FillFunction.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>System design</span> <!----></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Architecture</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>TsFile</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>QueryEngine</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>SchemaManager</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>StorageEngine</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>DataQuery</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/SystemDesign/DataQuery/DataQuery.html" class="sidebar-link">DataQuery</a></li><li><a href="/SystemDesign/DataQuery/QueryFundamentals.html" class="sidebar-link">QueryFundamentals</a></li><li><a href="/SystemDesign/DataQuery/SeriesReader.html" class="sidebar-link">SeriesReader</a></li><li><a href="/SystemDesign/DataQuery/RawDataQuery.html" class="sidebar-link">RawDataQuery</a></li><li><a href="/SystemDesign/DataQuery/AggregationQuery.html" class="sidebar-link">AggregationQuery</a></li><li><a href="/SystemDesign/DataQuery/GroupByQuery.html" class="sidebar-link">GroupByQuery</a></li><li><a href="/SystemDesign/DataQuery/LastQuery.html" class="sidebar-link">LastQuery</a></li><li><a href="/SystemDesign/DataQuery/AlignByDeviceQuery.html" class="sidebar-link">AlignByDeviceQuery</a></li><li><a href="/SystemDesign/DataQuery/FillFunction.html" aria-current="page" class="active sidebar-link">FillFunction</a></li><li><a href="/SystemDesign/DataQuery/GroupByFillQuery.html" class="sidebar-link">GroupByFillQuery</a></li></ul></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Tools</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Connector</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Client</span> <span class="arrow right"></span></p> <!----></section></li></ul> </aside> <main class="page"> <div class="content content__default"><h1 id="fill-function"><a href="#fill-function" class="header-anchor">#</a> Fill Function</h1> <p>The main logic of Fill function is in FillQueryExecutor</p> <ul><li>org.apache.iotdb.db.query.executor.FillQueryExecutor</li></ul> <p>Two fill functions are support in IoTDB, Previous Fill and Linear Fill.</p> <h1 id="previous-fill"><a href="#previous-fill" class="header-anchor">#</a> Previous Fill</h1> <p>The target of Previous Fill is to find out the time-value that has the largest timestamp, which is also smaller or equal to <code>queryTime</code>. The graph below displays one scenario of the function.</p> <div class="language- line-numbers-mode"><pre class="language-text"><code> |
+-------------------------+ |
| seq files | |
+-------------------------+ |
|
+---------------------------+
| unseq files | |
+---------------------------+
|
|
queryTime
</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><h2 id="design-principle"><a href="#design-principle" class="header-anchor">#</a> Design principle</h2> <p>In the real scenarios, the previous fill result may exist in a single page in tons of TsFiles. To accelerate the search procedure, <strong>the key point</strong> is to filter as many tsFiles out as possible.</p> <p>The main logic of TsFile filtering work is in <code>UnpackOverlappedUnseqFiles()</code>.</p> <h2 id="find-the-lower-bound-from-all-the-sequential-files"><a href="#find-the-lower-bound-from-all-the-sequential-files" class="header-anchor">#</a> Find the &quot;lower bound&quot; from all the sequential files</h2> <p>We first find out the &quot;last point&quot; of sequential files that satisfies fill queryTime. Since all the chunk data in sequential files are in decent order, this last point can be easily obtained by <code>retrieveValidLastPointFromSeqFiles()</code> function.</p> <p>After the above &quot;last point &quot; is found via <code>retrieveValidLastPointFromSeqFiles()</code>, the timestamp of this last point can be treated as a lower bound in the following searching. Only those points whose timestamps exceeds this lower bound are candidates to become the final result.</p> <p>In the below example, the unseq file is not qualified to be processed as its end time is before &quot;last point&quot;.</p> <div class="language- line-numbers-mode"><pre class="language-text"><code> last point
| |
+---------------------------+
| seq file | | |
+---------------------------+
+-------------------------+ | |
| unseq file | | |
+-------------------------+ | |
| |
|
queryTime
</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><h2 id="filter-unseq-files-with-lower-bound"><a href="#filter-unseq-files-with-lower-bound" class="header-anchor">#</a> Filter unseq files with lower bound</h2> <p>The selecting of unseq files is in method <code>UnpackOverlappedUnseqFiles(long lBoundTime)</code>. All the unseq files are filtered by the parameter <code>lBoundTime</code>, and unpacked into Timeseries Metadata. We cache all the <code>TimeseriesMetadata</code> into <code>unseqTimeseriesMetadataList</code>.</p> <p>Firstly the method selects the last unseq file that satisfies timeFilter. Its end time must be larger than <code>lBoundTime</code>, otherwise this file will be skipped. It is guaranteed that the rest files will cross the queryTime line, that is startTime &lt;= queryTime and queryTime &lt;= endTime. Then we can update the <code>lBoundTime</code> with the start time of the unpacked <code>TimeseriesMetadata</code>.</p> <p>In the below graph, the <code>lBoundTime</code> is updated with start time of unseq file in case1, and not updated in case2.</p> <div class="language- line-numbers-mode"><pre class="language-text"><code>case1 case2
| | |
| +---------------------------+
| | | unseq file | |
| +---------------------------+
| | |
| | |
lBoundTime lBoundTime queryTime
</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></div></div><div class="language- line-numbers-mode"><pre class="language-text"><code>while (!unseqFileResource.isEmpty()) {
// The very end time of unseq files is smaller than lBoundTime,
// then skip all the rest unseq files
if (unseqFileResource.peek().getEndTimeMap().get(seriesPath.getDevice()) &lt; lBoundTime) {
return;
}
TimeseriesMetadata timeseriesMetadata =
FileLoaderUtils.loadTimeSeriesMetadata(
unseqFileResource.poll(), seriesPath, context, timeFilter, allSensors);
if (timeseriesMetadata != null &amp;&amp; timeseriesMetadata.getStatistics().canUseStatistics()
&amp;&amp; lBoundTime &lt;= timeseriesMetadata.getStatistics().getEndTime()) {
lBoundTime = Math.max(lBoundTime, timeseriesMetadata.getStatistics().getStartTime());
unseqTimeseriesMetadataList.add(timeseriesMetadata);
break;
}
}
</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></div></div><p>Next, the selected Timeseries Metadata could be used to find all the other overlapped unseq files. It should be noted that each time when a overlapped unseq file is added, the <code>lBoundTime</code> could be updated if the end time of this file satisfies <code>queryTime</code></p> <div class="language- line-numbers-mode"><pre class="language-text"><code>while (!unseqFileResource.isEmpty()
&amp;&amp; (lBoundTime &lt;= unseqFileResource.peek().getEndTimeMap().get(seriesPath.getDevice()))) {
TimeseriesMetadata timeseriesMetadata =
FileLoaderUtils.loadTimeSeriesMetadata(
unseqFileResource.poll(), seriesPath, context, timeFilter, allSensors);
unseqTimeseriesMetadataList.add(timeseriesMetadata);
// update lBoundTime if current unseq timeseriesMetadata's last point is a valid result
if (timeseriesMetadata.getStatistics().canUseStatistics()
&amp;&amp; endtimeContainedByTimeFilter(timeseriesMetadata.getStatistics())) {
lBoundTime = Math.max(lBoundTime, timeseriesMetadata.getStatistics().getEndTime());
}
}
</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></div></div><h2 id="compose-the-previous-fill-result"><a href="#compose-the-previous-fill-result" class="header-anchor">#</a> Compose the Previous Fill result</h2> <p>The method <code>getFillResult()</code> will search among the sequential and un-sequential file to find the result. When searching in a chunk or a page, the statistic data should be utilized first.</p> <div class="language- line-numbers-mode"><pre class="language-text"><code>public TimeValuePair getFillResult() throws IOException {
TimeValuePair lastPointResult = retrieveValidLastPointFromSeqFiles();
UnpackOverlappedUnseqFiles(lastPointResult.getTimestamp());
long lastVersion = 0;
PriorityQueue&lt;ChunkMetadata&gt; sortedChunkMetatdataList = sortUnseqChunkMetadatasByEndtime();
while (!sortedChunkMetatdataList.isEmpty()
&amp;&amp; lastPointResult.getTimestamp() &lt;= sortedChunkMetatdataList.peek().getEndTime()) {
ChunkMetadata chunkMetadata = sortedChunkMetatdataList.poll();
TimeValuePair lastChunkPoint = getChunkLastPoint(chunkMetadata);
if (shouldUpdate(lastPointResult.getTimestamp(), lastVersion,
lastChunkPoint.getTimestamp(), chunkMetadata.getVersion())) {
lastPointResult = lastChunkPoint;
lastVersion = chunkMetadata.getVersion();
}
}
return lastPointResult;
}
</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></div></div><h1 id="linear-fill"><a href="#linear-fill" class="header-anchor">#</a> Linear Fill</h1> <p>The result of Linear Fill functions at timestamp &quot;T&quot; is calculated by performing a linear fitting method on two timeseries values, one is at the closest timestamp before T, and the other is at the closest timestamp after T. Linear Fill function calculation only supports numeric types including int, double and float.</p> <h2 id="calculating-before-timestamp-value"><a href="#calculating-before-timestamp-value" class="header-anchor">#</a> Calculating before timestamp value</h2> <p>Before timestamp value is calculated in the same way with Previous Fill.</p> <h2 id="calculating-after-timestamp-value"><a href="#calculating-after-timestamp-value" class="header-anchor">#</a> Calculating after timestamp value</h2> <p>For after timestamp value, the time-value pair is generated by two aggregation querys &quot;MIN_TIME&quot; and &quot;FIRST_VALUE&quot;. <code>AggregationExecutor.aggregateOneSeries()</code> is used to calculate these two aggregation results and compose a time-value pair.</p></div> <div class="page-nav"><p class="inner"><span class="prev">
<a href="/SystemDesign/DataQuery/AlignByDeviceQuery.html" class="prev">
AlignByDeviceQuery
</a></span> <span class="next"><a href="/SystemDesign/DataQuery/GroupByFillQuery.html">
GroupByFillQuery
</a>
</span></p></div> <p style="text-align: center;">Copyright © 2020 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: #444">
Contact us: Join QQ Group 659990460 | Add friend <i>tietouqiao</i> and be invited to Wechat Group<br>
see <a href="https://github.com/apache/iotdb/issues/1995">Join the community</a> for more</p></main></div><div class="global-ui"></div></div>
<script src="/assets/js/app.ee472f44.js" defer></script><script src="/assets/js/3.49f0f20a.js" defer></script><script src="/assets/js/33.00e7d6b5.js" defer></script>
</body>
</html>