blob: 3f07745ef6a6e0be735e515fc0b616ef2d492e3b [file] [log] [blame]
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title> </title>
<meta name="generator" content="VuePress 1.5.2">
<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.47c4181e.css" as="style"><link rel="preload" href="/assets/js/app.882d9a07.js" as="script"><link rel="preload" href="/assets/js/3.1dc302ea.js" as="script"><link rel="preload" href="/assets/js/329.b5e1d8d1.js" as="script"><link rel="prefetch" href="/assets/js/10.df7ec35f.js"><link rel="prefetch" href="/assets/js/100.46f902a0.js"><link rel="prefetch" href="/assets/js/101.ba2c5257.js"><link rel="prefetch" href="/assets/js/102.8cfa62ff.js"><link rel="prefetch" href="/assets/js/103.ce6083bd.js"><link rel="prefetch" href="/assets/js/104.2c7e306e.js"><link rel="prefetch" href="/assets/js/105.659f7d7c.js"><link rel="prefetch" href="/assets/js/106.44f523c6.js"><link rel="prefetch" href="/assets/js/107.aabb4e24.js"><link rel="prefetch" href="/assets/js/108.0b847ccb.js"><link rel="prefetch" href="/assets/js/109.0ecdc3e8.js"><link rel="prefetch" href="/assets/js/11.a86e49df.js"><link rel="prefetch" href="/assets/js/110.5cb485d3.js"><link rel="prefetch" href="/assets/js/111.f84f011d.js"><link rel="prefetch" href="/assets/js/112.d91219bd.js"><link rel="prefetch" href="/assets/js/113.802ff697.js"><link rel="prefetch" href="/assets/js/114.4dfa6fa4.js"><link rel="prefetch" href="/assets/js/115.3b84b03c.js"><link rel="prefetch" href="/assets/js/116.95c8cffd.js"><link rel="prefetch" href="/assets/js/117.75446827.js"><link rel="prefetch" href="/assets/js/118.97f15742.js"><link rel="prefetch" href="/assets/js/119.b6069f00.js"><link rel="prefetch" href="/assets/js/12.97a469f4.js"><link rel="prefetch" href="/assets/js/120.de4776ca.js"><link rel="prefetch" href="/assets/js/121.86b44edd.js"><link rel="prefetch" href="/assets/js/122.793976e9.js"><link rel="prefetch" href="/assets/js/123.138a7ccb.js"><link rel="prefetch" href="/assets/js/124.16a35af8.js"><link rel="prefetch" href="/assets/js/125.c481e922.js"><link rel="prefetch" href="/assets/js/126.fb82ff27.js"><link rel="prefetch" href="/assets/js/127.17ab45fd.js"><link rel="prefetch" href="/assets/js/128.9656b085.js"><link rel="prefetch" href="/assets/js/129.0aa7aabb.js"><link rel="prefetch" href="/assets/js/13.ca512a7d.js"><link rel="prefetch" href="/assets/js/130.7d14bd29.js"><link rel="prefetch" href="/assets/js/131.e71f08bd.js"><link rel="prefetch" href="/assets/js/132.6ea6cdf1.js"><link rel="prefetch" href="/assets/js/133.a388baa8.js"><link rel="prefetch" href="/assets/js/134.54d48b3d.js"><link rel="prefetch" href="/assets/js/135.7a128f8f.js"><link rel="prefetch" href="/assets/js/136.00a01734.js"><link rel="prefetch" href="/assets/js/137.aa593fc2.js"><link rel="prefetch" href="/assets/js/138.31960a86.js"><link rel="prefetch" href="/assets/js/139.562e6302.js"><link rel="prefetch" href="/assets/js/14.f91f7aa3.js"><link rel="prefetch" href="/assets/js/140.5f453876.js"><link rel="prefetch" href="/assets/js/141.b32d4af3.js"><link rel="prefetch" href="/assets/js/142.585e2900.js"><link rel="prefetch" href="/assets/js/143.1deb8b59.js"><link rel="prefetch" href="/assets/js/144.e98c9234.js"><link rel="prefetch" href="/assets/js/145.69e3d8ba.js"><link rel="prefetch" href="/assets/js/146.854ca873.js"><link rel="prefetch" href="/assets/js/147.ce852530.js"><link rel="prefetch" href="/assets/js/148.4df7ad54.js"><link rel="prefetch" href="/assets/js/149.5885680e.js"><link rel="prefetch" href="/assets/js/15.35ce02ea.js"><link rel="prefetch" href="/assets/js/150.e77a1752.js"><link rel="prefetch" href="/assets/js/151.e256e236.js"><link rel="prefetch" href="/assets/js/152.2269a9f4.js"><link rel="prefetch" href="/assets/js/153.67177abf.js"><link rel="prefetch" href="/assets/js/154.4b8625b0.js"><link rel="prefetch" href="/assets/js/155.84ff10ab.js"><link rel="prefetch" href="/assets/js/156.bbce15cb.js"><link rel="prefetch" href="/assets/js/157.3b84194d.js"><link rel="prefetch" href="/assets/js/158.1fc4f128.js"><link rel="prefetch" href="/assets/js/159.e74da70a.js"><link rel="prefetch" href="/assets/js/16.d053c0dc.js"><link rel="prefetch" href="/assets/js/160.5757746b.js"><link rel="prefetch" href="/assets/js/161.0956a685.js"><link rel="prefetch" href="/assets/js/162.7bdbb2e8.js"><link rel="prefetch" href="/assets/js/163.caae3dd0.js"><link rel="prefetch" href="/assets/js/164.3d527296.js"><link rel="prefetch" href="/assets/js/165.9e2592b0.js"><link rel="prefetch" href="/assets/js/166.936aefc2.js"><link rel="prefetch" href="/assets/js/167.b715a39c.js"><link rel="prefetch" href="/assets/js/168.21c20463.js"><link rel="prefetch" href="/assets/js/169.0cea4d63.js"><link rel="prefetch" href="/assets/js/17.54956aa7.js"><link rel="prefetch" href="/assets/js/170.99755400.js"><link rel="prefetch" href="/assets/js/171.a503fe92.js"><link rel="prefetch" href="/assets/js/172.b62ff159.js"><link rel="prefetch" href="/assets/js/173.ad699d64.js"><link rel="prefetch" href="/assets/js/174.12971908.js"><link rel="prefetch" href="/assets/js/175.d260a942.js"><link rel="prefetch" href="/assets/js/176.15310578.js"><link rel="prefetch" href="/assets/js/177.dca59880.js"><link rel="prefetch" href="/assets/js/178.762b5655.js"><link rel="prefetch" href="/assets/js/179.8a2150fa.js"><link rel="prefetch" href="/assets/js/18.0e32b1ca.js"><link rel="prefetch" href="/assets/js/180.812eff50.js"><link rel="prefetch" href="/assets/js/181.25741a4f.js"><link rel="prefetch" href="/assets/js/182.be1ead30.js"><link rel="prefetch" href="/assets/js/183.65da99ac.js"><link rel="prefetch" href="/assets/js/184.19aa7b39.js"><link rel="prefetch" href="/assets/js/185.3b47818d.js"><link rel="prefetch" href="/assets/js/186.f17445b2.js"><link rel="prefetch" href="/assets/js/187.5ffa8fb7.js"><link rel="prefetch" href="/assets/js/188.985b2930.js"><link rel="prefetch" href="/assets/js/189.8a086656.js"><link rel="prefetch" href="/assets/js/19.e1031edc.js"><link rel="prefetch" href="/assets/js/190.e1795abc.js"><link rel="prefetch" href="/assets/js/191.ef63b7c9.js"><link rel="prefetch" href="/assets/js/192.9b54e8a1.js"><link rel="prefetch" href="/assets/js/193.b7730945.js"><link rel="prefetch" href="/assets/js/194.bdfd3b2a.js"><link rel="prefetch" href="/assets/js/195.a49577ce.js"><link rel="prefetch" href="/assets/js/196.d7d6ea08.js"><link rel="prefetch" href="/assets/js/197.0038edae.js"><link rel="prefetch" href="/assets/js/198.2b7feb5b.js"><link rel="prefetch" href="/assets/js/199.246f826f.js"><link rel="prefetch" href="/assets/js/20.6630eb9b.js"><link rel="prefetch" href="/assets/js/200.7dd47538.js"><link rel="prefetch" href="/assets/js/201.b9f3f3ba.js"><link rel="prefetch" href="/assets/js/202.88580a02.js"><link rel="prefetch" href="/assets/js/203.dc19a146.js"><link rel="prefetch" href="/assets/js/204.3ae4039b.js"><link rel="prefetch" href="/assets/js/205.11713f93.js"><link rel="prefetch" href="/assets/js/206.5009f186.js"><link rel="prefetch" href="/assets/js/207.02d308ce.js"><link rel="prefetch" href="/assets/js/208.e0d30f83.js"><link rel="prefetch" href="/assets/js/209.a189a8f5.js"><link rel="prefetch" href="/assets/js/21.6ba053c1.js"><link rel="prefetch" href="/assets/js/210.0ab50f1b.js"><link rel="prefetch" href="/assets/js/211.ba454b99.js"><link rel="prefetch" href="/assets/js/212.5ab320e9.js"><link rel="prefetch" href="/assets/js/213.0290b30c.js"><link rel="prefetch" href="/assets/js/214.05b80625.js"><link rel="prefetch" href="/assets/js/215.69f82d6d.js"><link rel="prefetch" href="/assets/js/216.ab905448.js"><link rel="prefetch" href="/assets/js/217.bde06399.js"><link rel="prefetch" href="/assets/js/218.c3d46cb2.js"><link rel="prefetch" href="/assets/js/219.cf09aab1.js"><link rel="prefetch" href="/assets/js/22.2cc6e418.js"><link rel="prefetch" href="/assets/js/220.acfa6385.js"><link rel="prefetch" href="/assets/js/221.85cade19.js"><link rel="prefetch" href="/assets/js/222.138988e9.js"><link rel="prefetch" href="/assets/js/223.33eb46d4.js"><link rel="prefetch" href="/assets/js/224.5b505a1a.js"><link rel="prefetch" href="/assets/js/225.a00c337a.js"><link rel="prefetch" href="/assets/js/226.40b7642d.js"><link rel="prefetch" href="/assets/js/227.5855e16b.js"><link rel="prefetch" href="/assets/js/228.510e8061.js"><link rel="prefetch" href="/assets/js/229.6c905504.js"><link rel="prefetch" href="/assets/js/23.44b5e587.js"><link rel="prefetch" href="/assets/js/230.80eec0cb.js"><link rel="prefetch" href="/assets/js/231.5353f9c0.js"><link rel="prefetch" href="/assets/js/232.7caab4ae.js"><link rel="prefetch" href="/assets/js/233.429eb9ac.js"><link rel="prefetch" href="/assets/js/234.92daf6aa.js"><link rel="prefetch" href="/assets/js/235.4f96a6d2.js"><link rel="prefetch" href="/assets/js/236.f6d1fcf4.js"><link rel="prefetch" href="/assets/js/237.c81eb221.js"><link rel="prefetch" href="/assets/js/238.4d0eb5a6.js"><link rel="prefetch" href="/assets/js/239.b5fea603.js"><link rel="prefetch" href="/assets/js/24.22d894b5.js"><link rel="prefetch" href="/assets/js/240.4b907e8d.js"><link rel="prefetch" href="/assets/js/241.509179a2.js"><link rel="prefetch" href="/assets/js/242.6204b29f.js"><link rel="prefetch" href="/assets/js/243.6557eaac.js"><link rel="prefetch" href="/assets/js/244.00ba8687.js"><link rel="prefetch" href="/assets/js/245.2bccaee6.js"><link rel="prefetch" href="/assets/js/246.f450dac3.js"><link rel="prefetch" href="/assets/js/247.f8bded05.js"><link rel="prefetch" href="/assets/js/248.079a3425.js"><link rel="prefetch" href="/assets/js/249.67bc3845.js"><link rel="prefetch" href="/assets/js/25.de046fce.js"><link rel="prefetch" href="/assets/js/250.205203eb.js"><link rel="prefetch" href="/assets/js/251.c02b55cc.js"><link rel="prefetch" href="/assets/js/252.4672e689.js"><link rel="prefetch" href="/assets/js/253.eb0e0af8.js"><link rel="prefetch" href="/assets/js/254.a4560c5d.js"><link rel="prefetch" href="/assets/js/255.7da81997.js"><link rel="prefetch" href="/assets/js/256.12d8ab80.js"><link rel="prefetch" href="/assets/js/257.f75acca0.js"><link rel="prefetch" href="/assets/js/258.e5a6c8e4.js"><link rel="prefetch" href="/assets/js/259.3ffb6bec.js"><link rel="prefetch" href="/assets/js/26.22388c67.js"><link rel="prefetch" href="/assets/js/260.67eed8b3.js"><link rel="prefetch" href="/assets/js/261.6f75c141.js"><link rel="prefetch" href="/assets/js/262.2931901b.js"><link rel="prefetch" href="/assets/js/263.16ee64cc.js"><link rel="prefetch" href="/assets/js/264.cd60d20b.js"><link rel="prefetch" href="/assets/js/265.77c31e29.js"><link rel="prefetch" href="/assets/js/266.a79ab7b3.js"><link rel="prefetch" href="/assets/js/267.1c871665.js"><link rel="prefetch" href="/assets/js/268.6b7edb39.js"><link rel="prefetch" href="/assets/js/269.623f7925.js"><link rel="prefetch" href="/assets/js/27.1092da6f.js"><link rel="prefetch" href="/assets/js/270.1588dc7e.js"><link rel="prefetch" href="/assets/js/271.9d8c84d1.js"><link rel="prefetch" href="/assets/js/272.62691b38.js"><link rel="prefetch" href="/assets/js/273.9edcbfec.js"><link rel="prefetch" href="/assets/js/274.adab5090.js"><link rel="prefetch" href="/assets/js/275.5d464f4c.js"><link rel="prefetch" href="/assets/js/276.56bc4fb1.js"><link rel="prefetch" href="/assets/js/277.560abb1e.js"><link rel="prefetch" href="/assets/js/278.200f23dd.js"><link rel="prefetch" href="/assets/js/279.85bb2707.js"><link rel="prefetch" href="/assets/js/28.6ac8124e.js"><link rel="prefetch" href="/assets/js/280.78cd815f.js"><link rel="prefetch" href="/assets/js/281.301cd53d.js"><link rel="prefetch" href="/assets/js/282.0efd5adf.js"><link rel="prefetch" href="/assets/js/283.cc93d532.js"><link rel="prefetch" href="/assets/js/284.813a0148.js"><link rel="prefetch" href="/assets/js/285.64d647b3.js"><link rel="prefetch" href="/assets/js/286.f08aee76.js"><link rel="prefetch" href="/assets/js/287.7b650265.js"><link rel="prefetch" href="/assets/js/288.987b1a1a.js"><link rel="prefetch" href="/assets/js/289.0a539872.js"><link rel="prefetch" href="/assets/js/29.066202c5.js"><link rel="prefetch" href="/assets/js/290.29960eb5.js"><link rel="prefetch" href="/assets/js/291.4e4d9067.js"><link rel="prefetch" href="/assets/js/292.12a67deb.js"><link rel="prefetch" href="/assets/js/293.40828f6a.js"><link rel="prefetch" href="/assets/js/294.fdd0a014.js"><link rel="prefetch" href="/assets/js/295.f9f2d91c.js"><link rel="prefetch" href="/assets/js/296.e8663dd1.js"><link rel="prefetch" href="/assets/js/297.fb8a6d71.js"><link rel="prefetch" href="/assets/js/298.caf7b822.js"><link rel="prefetch" href="/assets/js/299.6a130c21.js"><link rel="prefetch" href="/assets/js/30.f001d2e0.js"><link rel="prefetch" href="/assets/js/300.01e0caa1.js"><link rel="prefetch" href="/assets/js/301.f32807cc.js"><link rel="prefetch" href="/assets/js/302.779651c3.js"><link rel="prefetch" href="/assets/js/303.3bdd3fe3.js"><link rel="prefetch" href="/assets/js/304.f0f81199.js"><link rel="prefetch" href="/assets/js/305.193ac400.js"><link rel="prefetch" href="/assets/js/306.bdbfc571.js"><link rel="prefetch" href="/assets/js/307.e5ac5443.js"><link rel="prefetch" href="/assets/js/308.104d4362.js"><link rel="prefetch" href="/assets/js/309.93ff7c1d.js"><link rel="prefetch" href="/assets/js/31.51ef7648.js"><link rel="prefetch" href="/assets/js/310.a6f56aee.js"><link rel="prefetch" href="/assets/js/311.5bb6779a.js"><link rel="prefetch" href="/assets/js/312.d1f1032f.js"><link rel="prefetch" href="/assets/js/313.d5d7bcf5.js"><link rel="prefetch" href="/assets/js/314.6220e3b0.js"><link rel="prefetch" href="/assets/js/315.989f9c3b.js"><link rel="prefetch" href="/assets/js/316.5c6be00c.js"><link rel="prefetch" href="/assets/js/317.5f443eed.js"><link rel="prefetch" href="/assets/js/318.bc72ddf9.js"><link rel="prefetch" href="/assets/js/319.5d9d8194.js"><link rel="prefetch" href="/assets/js/32.7dba92e8.js"><link rel="prefetch" href="/assets/js/320.aee2114d.js"><link rel="prefetch" href="/assets/js/321.de477b38.js"><link rel="prefetch" href="/assets/js/322.aa9d4016.js"><link rel="prefetch" href="/assets/js/323.178065b6.js"><link rel="prefetch" href="/assets/js/324.51fb6a96.js"><link rel="prefetch" href="/assets/js/325.1d301881.js"><link rel="prefetch" href="/assets/js/326.42161b0a.js"><link rel="prefetch" href="/assets/js/327.28ab6252.js"><link rel="prefetch" href="/assets/js/328.f7cc4627.js"><link rel="prefetch" href="/assets/js/33.38edc1ca.js"><link rel="prefetch" href="/assets/js/330.110568ed.js"><link rel="prefetch" href="/assets/js/331.e357336a.js"><link rel="prefetch" href="/assets/js/332.7246ff9a.js"><link rel="prefetch" href="/assets/js/34.09d75d60.js"><link rel="prefetch" href="/assets/js/35.28f77cc1.js"><link rel="prefetch" href="/assets/js/36.170a378d.js"><link rel="prefetch" href="/assets/js/37.8a712480.js"><link rel="prefetch" href="/assets/js/38.7ed5f5d7.js"><link rel="prefetch" href="/assets/js/39.9e375df7.js"><link rel="prefetch" href="/assets/js/4.cfbdbe89.js"><link rel="prefetch" href="/assets/js/40.ca86458f.js"><link rel="prefetch" href="/assets/js/41.0a8911c5.js"><link rel="prefetch" href="/assets/js/42.1f807061.js"><link rel="prefetch" href="/assets/js/43.2ef6f503.js"><link rel="prefetch" href="/assets/js/44.5e2c4992.js"><link rel="prefetch" href="/assets/js/45.90038f5d.js"><link rel="prefetch" href="/assets/js/46.b5efd5cf.js"><link rel="prefetch" href="/assets/js/47.0aa5076d.js"><link rel="prefetch" href="/assets/js/48.b5d02afd.js"><link rel="prefetch" href="/assets/js/49.f9d012fd.js"><link rel="prefetch" href="/assets/js/5.f601e2c6.js"><link rel="prefetch" href="/assets/js/50.63eccc09.js"><link rel="prefetch" href="/assets/js/51.53cfc462.js"><link rel="prefetch" href="/assets/js/52.e9807f0e.js"><link rel="prefetch" href="/assets/js/53.cb7ce425.js"><link rel="prefetch" href="/assets/js/54.b808d48c.js"><link rel="prefetch" href="/assets/js/55.f9ab930d.js"><link rel="prefetch" href="/assets/js/56.4ef6b77e.js"><link rel="prefetch" href="/assets/js/57.ec93b220.js"><link rel="prefetch" href="/assets/js/58.8e78043b.js"><link rel="prefetch" href="/assets/js/59.33e79866.js"><link rel="prefetch" href="/assets/js/6.4e244a8f.js"><link rel="prefetch" href="/assets/js/60.416039d7.js"><link rel="prefetch" href="/assets/js/61.31256bc1.js"><link rel="prefetch" href="/assets/js/62.4dd632ab.js"><link rel="prefetch" href="/assets/js/63.d3f67d18.js"><link rel="prefetch" href="/assets/js/64.d7e3c018.js"><link rel="prefetch" href="/assets/js/65.ba0437da.js"><link rel="prefetch" href="/assets/js/66.fbe062c4.js"><link rel="prefetch" href="/assets/js/67.8b6f0f48.js"><link rel="prefetch" href="/assets/js/68.4864757c.js"><link rel="prefetch" href="/assets/js/69.0adf4b5e.js"><link rel="prefetch" href="/assets/js/7.69014dd1.js"><link rel="prefetch" href="/assets/js/70.95a01842.js"><link rel="prefetch" href="/assets/js/71.ce3fd007.js"><link rel="prefetch" href="/assets/js/72.69b7729a.js"><link rel="prefetch" href="/assets/js/73.9ae8e1ec.js"><link rel="prefetch" href="/assets/js/74.0476bee6.js"><link rel="prefetch" href="/assets/js/75.b72d48e3.js"><link rel="prefetch" href="/assets/js/76.e914a404.js"><link rel="prefetch" href="/assets/js/77.97d4a82e.js"><link rel="prefetch" href="/assets/js/78.0ccf8bcf.js"><link rel="prefetch" href="/assets/js/79.aac64bb1.js"><link rel="prefetch" href="/assets/js/8.61bc0899.js"><link rel="prefetch" href="/assets/js/80.e392086a.js"><link rel="prefetch" href="/assets/js/81.97388622.js"><link rel="prefetch" href="/assets/js/82.9366dacf.js"><link rel="prefetch" href="/assets/js/83.5ed8acc4.js"><link rel="prefetch" href="/assets/js/84.d1d33d38.js"><link rel="prefetch" href="/assets/js/85.a3ef9d25.js"><link rel="prefetch" href="/assets/js/86.31ecbe2e.js"><link rel="prefetch" href="/assets/js/87.14070733.js"><link rel="prefetch" href="/assets/js/88.1c94e8e0.js"><link rel="prefetch" href="/assets/js/89.b59e84a7.js"><link rel="prefetch" href="/assets/js/9.4c1530ec.js"><link rel="prefetch" href="/assets/js/90.4b2949f4.js"><link rel="prefetch" href="/assets/js/91.6ef1ae99.js"><link rel="prefetch" href="/assets/js/92.c13a05d5.js"><link rel="prefetch" href="/assets/js/93.4f730b35.js"><link rel="prefetch" href="/assets/js/94.2cd2abae.js"><link rel="prefetch" href="/assets/js/95.03d94edd.js"><link rel="prefetch" href="/assets/js/96.5bcbc550.js"><link rel="prefetch" href="/assets/js/97.15877723.js"><link rel="prefetch" href="/assets/js/98.beef80df.js"><link rel="prefetch" href="/assets/js/99.3c55205c.js"><link rel="prefetch" href="/assets/js/vendors~docsearch.3b3aacb0.js">
<link rel="stylesheet" href="/assets/css/0.styles.47c4181e.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="/zh/" 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">文档</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/zh/UserGuide/Master/Get Started/QuickStart.html" class="nav-link">In progress</a></li><li class="dropdown-item"><!----> <a href="/zh/UserGuide/V0.9.x/0-Get Started/1-QuickStart.html" class="nav-link">V0.9.x</a></li><li class="dropdown-item"><!----> <a href="/zh/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="/zh/SystemDesign/Architecture/Architecture.html" class="nav-link">系统设计</a></div><div class="nav-item"><a href="/zh/Download/" class="nav-link">下载</a></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title">社区</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="/zh/Community/Community-Project Committers.html" class="nav-link">开发人员</a></li><li class="dropdown-item"><!----> <a href="/zh/Community/Community-Powered By.html" class="nav-link">技术支持</a></li><li class="dropdown-item"><!----> <a href="/zh/Community/Materials.html" class="nav-link">活动与报告</a></li><li class="dropdown-item"><!----> <a href="/zh/Community/Feedback.html" class="nav-link">交流与反馈</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title">开发</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/zh/Development/VoteRelease.html" class="nav-link">如何投票</a></li><li class="dropdown-item"><!----> <a href="/Development/HowToCommit.html" class="nav-link">如何提交代码</a></li><li class="dropdown-item"><!----> <a href="/Development/Committer.html" class="nav-link">成为Committer</a></li><li class="dropdown-item"><!----> <a href="/zh/Development/ContributeGuide.html" class="nav-link">项目开发指南</a></li><li class="dropdown-item"><!----> <a href="/zh/Development/format-changelist.html" class="nav-link">TsFile的更改列表</a></li><li class="dropdown-item"><!----> <a href="/zh/Development/rpc-changelist.html" class="nav-link">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">
基金会
<!----></a></li><li class="dropdown-item"><!----> <a href="http://www.apache.org/licenses/" class="nav-link external">
许可证
<!----></a></li><li class="dropdown-item"><!----> <a href="http://www.apache.org/security/" class="nav-link external">
安全
<!----></a></li><li class="dropdown-item"><!----> <a href="http://www.apache.org/foundation/sponsorship.html" class="nav-link external">
赞助
<!----></a></li><li class="dropdown-item"><!----> <a href="http://www.apache.org/foundation/thanks.html" class="nav-link external">
致谢
<!----></a></li><li class="dropdown-item"><!----> <a href="http://www.apache.org/events/current-event" class="nav-link external">
活动
<!----></a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title">语言</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/UserGuide/V0.9.x/8-System Design/1-Hierarchy.html" class="nav-link">English</a></li><li class="dropdown-item"><!----> <a href="/zh/UserGuide/V0.9.x/8-System Design/1-Hierarchy.html" class="nav-link">简体中文</a></li></ul></div></div> <a href="https://github.com/apache/incubator-iotdb.git" target="_blank" rel="noopener noreferrer" class="repo-link">
gitHub
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" 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></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">文档</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/zh/UserGuide/Master/Get Started/QuickStart.html" class="nav-link">In progress</a></li><li class="dropdown-item"><!----> <a href="/zh/UserGuide/V0.9.x/0-Get Started/1-QuickStart.html" class="nav-link">V0.9.x</a></li><li class="dropdown-item"><!----> <a href="/zh/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="/zh/SystemDesign/Architecture/Architecture.html" class="nav-link">系统设计</a></div><div class="nav-item"><a href="/zh/Download/" class="nav-link">下载</a></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title">社区</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="/zh/Community/Community-Project Committers.html" class="nav-link">开发人员</a></li><li class="dropdown-item"><!----> <a href="/zh/Community/Community-Powered By.html" class="nav-link">技术支持</a></li><li class="dropdown-item"><!----> <a href="/zh/Community/Materials.html" class="nav-link">活动与报告</a></li><li class="dropdown-item"><!----> <a href="/zh/Community/Feedback.html" class="nav-link">交流与反馈</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title">开发</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/zh/Development/VoteRelease.html" class="nav-link">如何投票</a></li><li class="dropdown-item"><!----> <a href="/Development/HowToCommit.html" class="nav-link">如何提交代码</a></li><li class="dropdown-item"><!----> <a href="/Development/Committer.html" class="nav-link">成为Committer</a></li><li class="dropdown-item"><!----> <a href="/zh/Development/ContributeGuide.html" class="nav-link">项目开发指南</a></li><li class="dropdown-item"><!----> <a href="/zh/Development/format-changelist.html" class="nav-link">TsFile的更改列表</a></li><li class="dropdown-item"><!----> <a href="/zh/Development/rpc-changelist.html" class="nav-link">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">
基金会
<!----></a></li><li class="dropdown-item"><!----> <a href="http://www.apache.org/licenses/" class="nav-link external">
许可证
<!----></a></li><li class="dropdown-item"><!----> <a href="http://www.apache.org/security/" class="nav-link external">
安全
<!----></a></li><li class="dropdown-item"><!----> <a href="http://www.apache.org/foundation/sponsorship.html" class="nav-link external">
赞助
<!----></a></li><li class="dropdown-item"><!----> <a href="http://www.apache.org/foundation/thanks.html" class="nav-link external">
致谢
<!----></a></li><li class="dropdown-item"><!----> <a href="http://www.apache.org/events/current-event" class="nav-link external">
活动
<!----></a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title">语言</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/UserGuide/V0.9.x/8-System Design/1-Hierarchy.html" class="nav-link">English</a></li><li class="dropdown-item"><!----> <a href="/zh/UserGuide/V0.9.x/8-System Design/1-Hierarchy.html" class="nav-link">简体中文</a></li></ul></div></div> <a href="https://github.com/apache/incubator-iotdb.git" target="_blank" rel="noopener noreferrer" class="repo-link">
gitHub
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" 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></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>IoTDB用户手册 (V0.9.x)</span> <!----></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>0-开始</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>1-概览</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>2-概念</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>3-服务器端</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>4-客户端</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>5-操作指南</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>6-系统工具</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>7-生态集成</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>8-系统设计</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/zh/UserGuide/V0.9.x/8-System Design/1-Hierarchy.html" class="active sidebar-link">层次结构</a></li><li><a href="/zh/UserGuide/V0.9.x/8-System Design/2-Files.html" class="sidebar-link">文件</a></li><li><a href="/zh/UserGuide/V0.9.x/8-System Design/3-Writing Data on HDFS.html" class="sidebar-link">使用HDFS存储数据</a></li><li><a href="/zh/UserGuide/V0.9.x/8-System Design/4-Shared Nothing Cluster.html" class="sidebar-link">Shared-nothing 架构</a></li></ul></section></li></ul> </aside> <main class="page"> <div class="content content__default"><h1 id="层次结构"><a href="#层次结构" class="header-anchor">#</a> 层次结构</h1> <h2 id="_1-tsfile设计"><a href="#_1-tsfile设计" class="header-anchor">#</a> 1. TsFile设计</h2> <p>这是对TsFile设计细节的介绍。</p> <h3 id="_1-1-可变存储"><a href="#_1-1-可变存储" class="header-anchor">#</a> 1.1 可变存储</h3> <ul><li><strong>大端</strong>
<ul><li>例如, <code>int</code> <code>0x8</code>将被存储为<code>00 00 00 08</code>,而不是<code>08 00 00 00</code></li></ul></li> <li><strong>可变长度的字符串</strong> <ul><li>格式为<code>int size</code><code>Sring literal</code>。 大小可以为零。</li> <li>大小等于此字符串将占用的字节数,并且可能不等于该字符串的长度。</li> <li>例如,“ sensor_1”将被存储为<code>00 00 00 08</code>加上“ sensor_1”的编码(ASCII)。</li> <li>请注意,对于“魔术字符串”(文件签名)“ TsFilev0.8.0”,大小(12)和编码(ASCII)是固定的,因此无需在该字符串文字前放置大小。</li></ul></li> <li><strong>数据类型硬编码</strong> <ul><li>0: BOOLEAN</li> <li>1: INT32 (<code>int</code>)</li> <li>2: INT64 (<code>long</code>)</li> <li>3: FLOAT</li> <li>4: DOUBLE</li> <li>5: TEXT (<code>String</code>)</li></ul></li> <li><strong>编码类型硬编码</strong> <ul><li>0: PLAIN</li> <li>1: PLAIN_DICTIONARY</li> <li>2: RLE</li> <li>3: DIFF</li> <li>4: TS_2DIFF</li> <li>5: BITMAP</li> <li>6: GORILLA</li> <li>7: REGULAR</li></ul></li> <li><strong>压缩类型硬编码</strong> <ul><li>0: UNCOMPRESSED</li> <li>1: SNAPPY</li> <li>2: GZIP</li> <li>3: LZO</li> <li>4: SDT</li> <li>5: PAA</li> <li>6: PLA</li></ul></li> <li><strong>TsDigest统计类型硬编码</strong> <ul><li>0: min_value</li> <li>1: max_value</li> <li>2: first_value</li> <li>3: last_value</li> <li>4: sum_value</li></ul></li></ul> <h3 id="_1-2-tsfile概述"><a href="#_1-2-tsfile概述" class="header-anchor">#</a> 1.2 TsFile概述</h3> <p>这是有关TsFile结构的图。</p> <p><img src="https://user-images.githubusercontent.com/40447846/61616997-6fad1300-ac9c-11e9-9c17-46785ebfbc88.png" alt="TsFile Breakdown"></p> <h4 id="_1-2-1-魔术字符串和版本号"><a href="#_1-2-1-魔术字符串和版本号" class="header-anchor">#</a> 1.2.1 魔术字符串和版本号</h4> <p>TsFile以6字节的魔术字符串(<code>TsFile</code>)和6字节的版本号(<code>000001</code>)开头。</p> <h4 id="_1-2-2-数据"><a href="#_1-2-2-数据" class="header-anchor">#</a> 1.2.2 数据</h4> <p>TsFile文件的内容可以分为两部分:数据和元数据。 数据和元数据之间有一个字节<code>0x02</code>作为标记。</p> <p>数据部分是一个<code>ChunkGroup</code>数组,每个ChunkGroup代表一个* device *。</p> <h5 id="块组"><a href="#块组" class="header-anchor">#</a> 块组</h5> <p><code>ChunkGroup</code>具有一个<code>Chunk</code>数组,一个后续字节<code>0x00</code>作为标记以及一个<code>ChunkFooter</code></p> <h5 id="块"><a href="#块" class="header-anchor">#</a></h5> <p><code></code>代表<em>传感器</em>。 在<code>ChunkHeader</code><code>Page</code>数组之后,有一个字节<code>0x01</code>作为标记。</p> <h5 id="块头"><a href="#块头" class="header-anchor">#</a> 块头</h5> <table><thead><tr><th style="text-align:center;">Member Description</th> <th style="text-align:center;">Member Type</th></tr></thead> <tbody><tr><td style="text-align:center;">该传感器的名称(measurementID)</td> <td style="text-align:center;">String</td></tr> <tr><td style="text-align:center;">这个块的大小</td> <td style="text-align:center;">int</td></tr> <tr><td style="text-align:center;">该卡盘的数据类型</td> <td style="text-align:center;">short</td></tr> <tr><td style="text-align:center;">页数</td> <td style="text-align:center;">int</td></tr> <tr><td style="text-align:center;">压缩类型</td> <td style="text-align:center;">short</td></tr> <tr><td style="text-align:center;">编码方式</td> <td style="text-align:center;">short</td></tr> <tr><td style="text-align:center;">最大墓碑时间</td> <td style="text-align:center;">long</td></tr></tbody></table> <h5 id="页"><a href="#页" class="header-anchor">#</a></h5> <p>页面代表块中的一些数据。 它包含一个PageHeader和实际数据(编码的时间值对)。</p> <p>PageHeader结构</p> <table><thead><tr><th style="text-align:center;">Member Description</th> <th style="text-align:center;">Member Type</th></tr></thead> <tbody><tr><td style="text-align:center;">压缩前的数据大小</td> <td style="text-align:center;">int</td></tr> <tr><td style="text-align:center;">压缩后的数据大小(如果使用SNAPPY)</td> <td style="text-align:center;">int</td></tr> <tr><td style="text-align:center;">值数</td> <td style="text-align:center;">int</td></tr> <tr><td style="text-align:center;">最大时间戳</td> <td style="text-align:center;">long</td></tr> <tr><td style="text-align:center;">最小时间戳</td> <td style="text-align:center;">long</td></tr> <tr><td style="text-align:center;">页面最大值</td> <td style="text-align:center;">Type of the page</td></tr> <tr><td style="text-align:center;">页面最小值</td> <td style="text-align:center;">Type of the page</td></tr> <tr><td style="text-align:center;">页面的第一个值</td> <td style="text-align:center;">Type of the page</td></tr> <tr><td style="text-align:center;">页面总和</td> <td style="text-align:center;">double</td></tr> <tr><td style="text-align:center;">页面的最后一个值</td> <td style="text-align:center;">Type of the page</td></tr></tbody></table> <h5 id="chunkgroupfooter"><a href="#chunkgroupfooter" class="header-anchor">#</a> ChunkGroupFooter</h5> <table><thead><tr><th style="text-align:center;">Member Description</th> <th style="text-align:center;">Member Type</th></tr></thead> <tbody><tr><td style="text-align:center;">设备id</td> <td style="text-align:center;">String</td></tr> <tr><td style="text-align:center;">ChunkGroup的数据大小</td> <td style="text-align:center;">long</td></tr> <tr><td style="text-align:center;">块数</td> <td style="text-align:center;">int</td></tr></tbody></table> <h4 id="_1-2-3-元数据"><a href="#_1-2-3-元数据" class="header-anchor">#</a> 1.2.3 元数据</h4> <h5 id="_1-2-3-1-tsdevicemetadata"><a href="#_1-2-3-1-tsdevicemetadata" class="header-anchor">#</a> 1.2.3.1 TsDeviceMetaData</h5> <p>元数据的第一部分是<code>TsDeviceMetaData</code></p> <table><thead><tr><th style="text-align:center;">Member Description</th> <th style="text-align:center;">Member Type</th></tr></thead> <tbody><tr><td style="text-align:center;">开始时间</td> <td style="text-align:center;">long</td></tr> <tr><td style="text-align:center;">时间结束</td> <td style="text-align:center;">long</td></tr> <tr><td style="text-align:center;">组块数</td> <td style="text-align:center;">int</td></tr> <tr><td style="text-align:center;">ChunkGroup元数据列表</td> <td style="text-align:center;">list</td></tr></tbody></table> <h6 id="chunkgroupmetadata"><a href="#chunkgroupmetadata" class="header-anchor">#</a> ChunkGroupMetaData</h6> <table><thead><tr><th style="text-align:center;">Member Description</th> <th style="text-align:center;">Member Type</th></tr></thead> <tbody><tr><td style="text-align:center;">设备编号</td> <td style="text-align:center;">String</td></tr> <tr><td style="text-align:center;">ChunkGroup的起始偏移量</td> <td style="text-align:center;">long</td></tr> <tr><td style="text-align:center;">块组的结束偏移</td> <td style="text-align:center;">long</td></tr> <tr><td style="text-align:center;"></td> <td style="text-align:center;">long</td></tr> <tr><td style="text-align:center;">ChunkMetaData的数量</td> <td style="text-align:center;">int</td></tr> <tr><td style="text-align:center;">ChunkMetaData列表</td> <td style="text-align:center;">list</td></tr></tbody></table> <h6 id="chunkmetadata"><a href="#chunkmetadata" class="header-anchor">#</a> ChunkMetaData</h6> <table><thead><tr><th style="text-align:center;">Member Description</th> <th style="text-align:center;">Member Type</th></tr></thead> <tbody><tr><td style="text-align:center;">MeasurementId</td> <td style="text-align:center;">String</td></tr> <tr><td style="text-align:center;">ChunkHeader的起始偏移量</td> <td style="text-align:center;">long</td></tr> <tr><td style="text-align:center;">数据点数</td> <td style="text-align:center;">long</td></tr> <tr><td style="text-align:center;">开始时间</td> <td style="text-align:center;">long</td></tr> <tr><td style="text-align:center;">时间结束</td> <td style="text-align:center;">long</td></tr> <tr><td style="text-align:center;">数据类型</td> <td style="text-align:center;">short</td></tr> <tr><td style="text-align:center;">该块的统计信息</td> <td style="text-align:center;">TsDigest</td></tr></tbody></table> <h6 id="tsdigest"><a href="#tsdigest" class="header-anchor">#</a> TsDigest</h6> <p>现在有五个统计信息: <code>min_value, max_value, first_value, last_value, sum_value</code>.</p> <p>在v0.8.x中,统计信息的存储格式为<code>名称/值</code>对。 也就是说,<code>Map &lt;String,ByteBuffer&gt;statistics</code>。 名称是一个字符串(记住长度在文字之前)。 但是对于该值,还有一个整数byteLength用作后续值的自我描述长度,因为该值可能是各种类型。 例如,如果<code>min_value</code>是整数0,则它将作为[9“ min_value” 4 0]存储在TsFile中。</p> <p>下图显示了<code>TsDigest.deserializeFrom(buffer)</code>的示例。 在v0.8.0中,我们将获得</p> <div class="language- line-numbers-mode"><pre class="language-text"><code>Map&lt;String, ByteBuffer&gt; statistics = {
&quot;min_value&quot; -&gt; ByteBuffer of int value 0,
&quot;last&quot; -&gt; ByteBuffer of int value 19,
&quot;sum&quot; -&gt; ByteBuffer of double value 1093347116,
&quot;first&quot; -&gt; ByteBuffer of int value 0,
&quot;max_value&quot; -&gt; ByteBuffer of int value 99
}
</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><img src="https://user-images.githubusercontent.com/33376433/63765352-664a4280-c8fb-11e9-869e-859edf6d00bb.png" style="width:100%;max-width:800px;max-height:600px;margin-left:auto;margin-right:auto;display:block;"> <p>在v0.9.x中,为了节省空间和时间,将存储格式更改为数组。 即,ByteBuffer []统计信息。 遵循<code>StatisticType</code>中定义的顺序,数组的每个位置与特定类型的统计信息都有固定的关联:</p> <div class="language- line-numbers-mode"><pre class="language-text"><code>enum StatisticType {
min_value, max_value, first_value, last_value, sum_value
}
</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>因此,在上面的示例中,我们将获得</p> <div class="language- line-numbers-mode"><pre class="language-text"><code>ByteBuffer[] statistics = [
ByteBuffer of int value 0, // associated with &quot;min_value&quot;
ByteBuffer of int value 99, // associated with &quot;max_value&quot;
ByteBuffer of int value 0, // associated with &quot;first_value&quot;
ByteBuffer of int value 19, // associated with &quot;last_value&quot;
ByteBuffer of double value 1093347116 // associated with &quot;sum_value&quot;
]
</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><p>作为v0.9.x中的另一个示例,当从缓冲区[3,0,4,0,1,4,99,3,4,19]反序列化TsDigest时,我们得到</p> <div class="language- line-numbers-mode"><pre class="language-text"><code>ByteBuffer[] statistics = [
ByteBuffer of int value 0, // associated with &quot;min_value&quot;
ByteBuffer of int value 99, // associated with &quot;max_value&quot;
null, // associated with &quot;first_value&quot;
ByteBuffer of int value 19, // associated with &quot;last_value&quot;
null // associated with &quot;sum_value&quot;
]
</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><h5 id="_1-2-3-2-tsfilemetadata"><a href="#_1-2-3-2-tsfilemetadata" class="header-anchor">#</a> 1.2.3.2 TsFileMetaData</h5> <p><code>TsDeviceMetadatas</code>之后是<code>TsFileMetaData</code></p> <table><thead><tr><th style="text-align:center;">Member Description</th> <th style="text-align:center;">Member Type</th></tr></thead> <tbody><tr><td style="text-align:center;">Number of devices</td> <td style="text-align:center;">int</td></tr> <tr><td style="text-align:center;">Pairs of device name and deviceMetadataIndex</td> <td style="text-align:center;">String, TsDeviceMetadataIndex pair</td></tr> <tr><td style="text-align:center;">Number of measurements</td> <td style="text-align:center;">int</td></tr> <tr><td style="text-align:center;">Pairs of measurement name and schema</td> <td style="text-align:center;">String, MeasurementSchema pair</td></tr> <tr><td style="text-align:center;">Author byte</td> <td style="text-align:center;">byte</td></tr> <tr><td style="text-align:center;">Author(if author byte is 0x01)</td> <td style="text-align:center;">String</td></tr> <tr><td style="text-align:center;">totalChunkNum</td> <td style="text-align:center;">int</td></tr> <tr><td style="text-align:center;">invalidChunkNum</td> <td style="text-align:center;">int</td></tr> <tr><td style="text-align:center;">Bloom filter size</td> <td style="text-align:center;">int</td></tr> <tr><td style="text-align:center;">Bloom filter bit vector</td> <td style="text-align:center;">byte[Bloom filter size]</td></tr> <tr><td style="text-align:center;">Bloom filter capacity</td> <td style="text-align:center;">int</td></tr> <tr><td style="text-align:center;">Bloom filter hash functions size</td> <td style="text-align:center;">int</td></tr></tbody></table> <h6 id="tsdevicemetadataindex"><a href="#tsdevicemetadataindex" class="header-anchor">#</a> TsDeviceMetadataIndex</h6> <table><thead><tr><th style="text-align:center;">Member Description</th> <th style="text-align:center;">Member Type</th></tr></thead> <tbody><tr><td style="text-align:center;">DeviceId</td> <td style="text-align:center;">String</td></tr> <tr><td style="text-align:center;">Start offset of TsDeviceMetaData</td> <td style="text-align:center;">long</td></tr> <tr><td style="text-align:center;">length</td> <td style="text-align:center;">int</td></tr> <tr><td style="text-align:center;">Start time</td> <td style="text-align:center;">long</td></tr> <tr><td style="text-align:center;">End time</td> <td style="text-align:center;">long</td></tr></tbody></table> <h6 id="measurementschema"><a href="#measurementschema" class="header-anchor">#</a> MeasurementSchema</h6> <table><thead><tr><th style="text-align:center;">Member Description</th> <th style="text-align:center;">Member Type</th></tr></thead> <tbody><tr><td style="text-align:center;">MeasurementId</td> <td style="text-align:center;">String</td></tr> <tr><td style="text-align:center;">Data type</td> <td style="text-align:center;">short</td></tr> <tr><td style="text-align:center;">Encoding</td> <td style="text-align:center;">short</td></tr> <tr><td style="text-align:center;">Compressor</td> <td style="text-align:center;">short</td></tr> <tr><td style="text-align:center;">Size of props</td> <td style="text-align:center;">int</td></tr></tbody></table> <p>如果道具的大小大于0,则存在一个&lt;String,String&gt;对数组,作为此度量的属性。
​ 例如“ max_point_number”“ 2”。</p> <h5 id="_1-2-3-3-tsfilemetadatasize"><a href="#_1-2-3-3-tsfilemetadatasize" class="header-anchor">#</a> 1.2.3.3 TsFileMetadataSize</h5> <p><code>TsFileMetaData</code>之后,有一个整数,指示<code>TsFileMetaData</code>的大小。</p> <h4 id="_1-2-4-魔术字符串"><a href="#_1-2-4-魔术字符串" class="header-anchor">#</a> 1.2.4 魔术字符串</h4> <p>Ts文件以6字节的魔术字符串结尾(至文件)。 恭喜你! 您已经完成了发现TsFile的旅程。</p> <h3 id="_1-3-tool-set"><a href="#_1-3-tool-set" class="header-anchor">#</a> 1.3 Tool Set</h3> <h4 id="_1-3-1-tsfileresource打印工具"><a href="#_1-3-1-tsfileresource打印工具" class="header-anchor">#</a> 1.3.1 TsFileResource打印工具</h4> <p>构建服务器后,此工具的启动脚本将出现在<code>server \ target \ iotdb-server-0.9.2 \ tools</code>目录下。</p> <p>命令:</p> <p>对于Windows:</p> <div class="language- line-numbers-mode"><pre class="language-text"><code>.\print-tsfile-sketch.bat &lt;path of your TsFileResource Directory&gt;
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div><p>对于Linux或Mac OS:</p> <div class="language- line-numbers-mode"><pre class="language-text"><code>./print-tsfile-sketch.sh &lt;path of your TsFileResource Directory&gt;
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div><p>Windows上的示例:</p> <div class="language- line-numbers-mode"><pre class="language-text"><code>D:\incubator-iotdb\server\target\iotdb-server-0.9.2\tools&gt;.\print-tsfile-resource-files.bat D:\data\data\sequence\root.vehicle
​````````````````````````
Starting Printing the TsFileResources
​````````````````````````
12:31:59.861 [main] WARN org.apache.iotdb.db.conf.IoTDBDescriptor - Cannot find IOTDB_HOME or IOTDB_CONF environment variable when loading config file iotdb-engine.properties, use default configuration
analyzing D:\data\data\sequence\root.vehicle\1572496142067-101-0.tsfile ...
device root.vehicle.d0, start time 3000 (1970-01-01T08:00:03+08:00[GMT+08:00]), end time 100999 (1970-01-01T08:01:40.999+08:00[GMT+08:00])
analyzing the resource file finished.
</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><h4 id="_1-3-2-tsfile素描工具"><a href="#_1-3-2-tsfile素描工具" class="header-anchor">#</a> 1.3.2 TsFile素描工具</h4> <p>构建服务器后,此工具的启动脚本将出现在<code>server \ target \ iotdb-server-0.9.2 \ tools</code>目录下。</p> <p>命令:</p> <p>对于Windows:</p> <div class="language- line-numbers-mode"><pre class="language-text"><code>.\print-tsfile-sketch.bat &lt;path of your TsFile&gt; (&lt;path of the file for saving the output result&gt;)
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div><ul><li>请注意,如果未设置 <code>&lt;path of the file for saving the output result&gt;</code>,则将使用默认路径&quot;TsFile_sketch_view.txt&quot;。</li></ul> <p>对于Linux或Mac OS:</p> <div class="language- line-numbers-mode"><pre class="language-text"><code>./print-tsfile-sketch.sh &lt;path of your TsFile&gt; (&lt;path of the file for saving the output result&gt;)
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div><ul><li>请注意,如果未设置 <code>&lt;path of the file for saving the output result&gt;</code> , 则将使用默认路径&quot;TsFile_sketch_view.txt&quot;。</li></ul> <p>Windows上的示例:</p> <div class="language-$xslt line-numbers-mode"><pre class="language-text"><code>D:\incubator-iotdb\server\target\iotdb-server-0.9.2\tools&gt;.\print-tsfile-sketch.bat D:\data\data\sequence\root.vehicle\1572496142067-101-0.tsfile
​````````````````````````
Starting Printing the TsFile Sketch
​````````````````````````
TsFile path:D:\data\data\sequence\root.vehicle\1572496142067-101-0.tsfile
Sketch save path:TsFile_sketch_view.txt
-------------------------------- TsFile Sketch --------------------------------
file path: D:\data\data\sequence\root.vehicle\1572496142067-101-0.tsfile
file length: 187382
POSITION| CONTENT
-------- -------
0| [magic head] TsFile
6| [version number] 000001
||||||||||||||||||||| [Chunk Group] of root.vehicle.d0 begins at pos 12, ends at pos 186469, version:102, num of Chunks:6
12| [Chunk] of s3, numOfPoints:10600, time range:[3000,13599], tsDataType:TEXT,
TsDigest:[min_value:A,max_value:E,first_value:A,last_value:E,sum_value:0.0]
| [marker] 1
| [ChunkHeader]
| 11 pages
55718| [Chunk] of s4, numOfPoints:10600, time range:[3000,13599], tsDataType:BOOLEAN,
TsDigest:[min_value:false,max_value:true,first_value:true,last_value:false,sum_value:0.0]
| [marker] 1
| [ChunkHeader]
| 11 pages
68848| [Chunk] of s5, numOfPoints:10600, time range:[3000,13599], tsDataType:DOUBLE,
TsDigest:[min_value:3000.0,max_value:13599.0,first_value:3000.0,last_value:13599.0,sum_value:8.79747E7]
| [marker] 1
| [ChunkHeader]
| 11 pages
98474| [Chunk] of s0, numOfPoints:21900, time range:[3000,100999], tsDataType:INT32,
TsDigest:[min_value:0,max_value:99,first_value:0,last_value:19,sum_value:889750.0]
| [marker] 1
| [ChunkHeader]
| 22 pages
123369| [Chunk] of s1, numOfPoints:21900, time range:[3000,100999], tsDataType:INT64,
TsDigest:[min_value:0,max_value:39,first_value:8,last_value:19,sum_value:300386.0]
| [marker] 1
| [ChunkHeader]
| 22 pages
144741| [Chunk] of s2, numOfPoints:21900, time range:[3000,100999], tsDataType:FLOAT,
TsDigest:[min_value:0.0,max_value:122.0,first_value:8.0,last_value:52.0,sum_value:778581.0]
| [marker] 1
| [ChunkHeader]
| 22 pages
186437| [Chunk Group Footer]
| [marker] 0
| [deviceID] root.vehicle.d0
| [dataSize] 186425
| [num of chunks] 6
||||||||||||||||||||| [Chunk Group] of root.vehicle.d0 ends
186469| [marker] 2
186470| [TsDeviceMetadata] of root.vehicle.d0, startTime:3000, endTime:100999
| [startTime] 3000tfi
| [endTime] 100999
| [num of ChunkGroupMetaData] 1
| 1 ChunkGroupMetaData
187133| [TsFileMetaData]
| [num of devices] 1
| 1 key&amp;TsDeviceMetadataIndex
| [num of measurements] 6
| 6 key&amp;measurementSchema
| [createBy isNotNull] false
| [totalChunkNum] 6
| [invalidChunkNum] 0
| [bloom filter bit vector byte array length] 31
| [bloom filter bit vector byte array]
| [bloom filter number of bits] 256
| [bloom filter number of hash functions] 5
187372| [TsFileMetaDataSize] 239
187376| [magic tail] TsFile
187382| END of TsFile
---------------------------------- TsFile Sketch End ----------------------------------
</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><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br><span class="line-number">25</span><br><span class="line-number">26</span><br><span class="line-number">27</span><br><span class="line-number">28</span><br><span class="line-number">29</span><br><span class="line-number">30</span><br><span class="line-number">31</span><br><span class="line-number">32</span><br><span class="line-number">33</span><br><span class="line-number">34</span><br><span class="line-number">35</span><br><span class="line-number">36</span><br><span class="line-number">37</span><br><span class="line-number">38</span><br><span class="line-number">39</span><br><span class="line-number">40</span><br><span class="line-number">41</span><br><span class="line-number">42</span><br><span class="line-number">43</span><br><span class="line-number">44</span><br><span class="line-number">45</span><br><span class="line-number">46</span><br><span class="line-number">47</span><br><span class="line-number">48</span><br><span class="line-number">49</span><br><span class="line-number">50</span><br><span class="line-number">51</span><br><span class="line-number">52</span><br><span class="line-number">53</span><br><span class="line-number">54</span><br><span class="line-number">55</span><br><span class="line-number">56</span><br><span class="line-number">57</span><br><span class="line-number">58</span><br><span class="line-number">59</span><br><span class="line-number">60</span><br><span class="line-number">61</span><br><span class="line-number">62</span><br><span class="line-number">63</span><br><span class="line-number">64</span><br><span class="line-number">65</span><br><span class="line-number">66</span><br><span class="line-number">67</span><br><span class="line-number">68</span><br><span class="line-number">69</span><br><span class="line-number">70</span><br><span class="line-number">71</span><br><span class="line-number">72</span><br><span class="line-number">73</span><br><span class="line-number">74</span><br></div></div><h4 id="_1-3-3-tsfilesequenceread"><a href="#_1-3-3-tsfilesequenceread" class="header-anchor">#</a> 1.3.3 TsFileSequenceRead</h4> <p>您也可以使用<code>example / tsfile / org / apache / iotdb / tsfile / TsFileSequenceRead</code>顺序打印TsFile的内容。</p> <h3 id="_1-4-tsfile可视化示例"><a href="#_1-4-tsfile可视化示例" class="header-anchor">#</a> 1.4 TsFile可视化示例</h3> <h4 id="v0-8-x"><a href="#v0-8-x" class="header-anchor">#</a> v0.8.x</h4> <img src="https://user-images.githubusercontent.com/33376433/65209576-2bd36000-dacb-11e9-9e43-49e0dd01274e.png" style="width:100%;max-width:800px;max-height:600px;margin-left:auto;margin-right:auto;display:block;"> <h4 id="v0-9-x"><a href="#v0-9-x" class="header-anchor">#</a> v0.9.x</h4> <img src="https://user-images.githubusercontent.com/33376433/68128717-35b60300-ff53-11e9-919e-48d80536df88.png" style="width:100%;max-width:800px;max-height:600px;margin-left:auto;margin-right:auto;display:block;"></div> <div class="page-nav"><p class="inner"><span class="prev">
<a href="/zh/UserGuide/V0.9.x/7-Ecosystem Integration/5-Hive TsFile.html" class="prev">
Hive TsFile
</a></span> <span class="next"><a href="/zh/UserGuide/V0.9.x/8-System Design/2-Files.html">
文件
</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:justify!important;paddingLeft:10px;paddingRight:10px;">
Disclaimer: Apache IoTDB (incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
</p></main></div><div class="global-ui"></div></div>
<script src="/assets/js/app.882d9a07.js" defer></script><script src="/assets/js/3.1dc302ea.js" defer></script><script src="/assets/js/329.b5e1d8d1.js" defer></script>
</body>
</html>