blob: 8c5be737a16b58aa3d48e16caa3bec171bd2c29c [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.f50ebe60.css" as="style"><link rel="preload" href="/assets/js/app.337fc07c.js" as="script"><link rel="preload" href="/assets/js/3.1dc302ea.js" as="script"><link rel="preload" href="/assets/js/746.dee6db6a.js" as="script"><link rel="prefetch" href="/assets/js/10.df7ec35f.js"><link rel="prefetch" href="/assets/js/100.80a174e3.js"><link rel="prefetch" href="/assets/js/101.5aadfef2.js"><link rel="prefetch" href="/assets/js/102.8ed5c0a4.js"><link rel="prefetch" href="/assets/js/103.1b385e95.js"><link rel="prefetch" href="/assets/js/104.ed9307ef.js"><link rel="prefetch" href="/assets/js/105.5e01984a.js"><link rel="prefetch" href="/assets/js/106.58cc0673.js"><link rel="prefetch" href="/assets/js/107.df09e45f.js"><link rel="prefetch" href="/assets/js/108.2c4a402a.js"><link rel="prefetch" href="/assets/js/109.f6997883.js"><link rel="prefetch" href="/assets/js/11.fdd2791a.js"><link rel="prefetch" href="/assets/js/110.58434ee6.js"><link rel="prefetch" href="/assets/js/111.86070b0c.js"><link rel="prefetch" href="/assets/js/112.f9042bd2.js"><link rel="prefetch" href="/assets/js/113.17ae4d9b.js"><link rel="prefetch" href="/assets/js/114.f279a46a.js"><link rel="prefetch" href="/assets/js/115.72f9ece7.js"><link rel="prefetch" href="/assets/js/116.84a434d5.js"><link rel="prefetch" href="/assets/js/117.7d0745c9.js"><link rel="prefetch" href="/assets/js/118.9b33b42b.js"><link rel="prefetch" href="/assets/js/119.168046be.js"><link rel="prefetch" href="/assets/js/12.53a797d3.js"><link rel="prefetch" href="/assets/js/120.5ef9004d.js"><link rel="prefetch" href="/assets/js/121.7c0d2fe1.js"><link rel="prefetch" href="/assets/js/122.4e00367b.js"><link rel="prefetch" href="/assets/js/123.361f6954.js"><link rel="prefetch" href="/assets/js/124.887b3b34.js"><link rel="prefetch" href="/assets/js/125.afa57b8e.js"><link rel="prefetch" href="/assets/js/126.45cce088.js"><link rel="prefetch" href="/assets/js/127.87f2e3cf.js"><link rel="prefetch" href="/assets/js/128.58fe9330.js"><link rel="prefetch" href="/assets/js/129.998b2f36.js"><link rel="prefetch" href="/assets/js/13.3d6a50ea.js"><link rel="prefetch" href="/assets/js/130.9ce2147d.js"><link rel="prefetch" href="/assets/js/131.49d5584d.js"><link rel="prefetch" href="/assets/js/132.7fd5b823.js"><link rel="prefetch" href="/assets/js/133.187befa4.js"><link rel="prefetch" href="/assets/js/134.9cc6d79b.js"><link rel="prefetch" href="/assets/js/135.daba1269.js"><link rel="prefetch" href="/assets/js/136.f980d90f.js"><link rel="prefetch" href="/assets/js/137.72d76180.js"><link rel="prefetch" href="/assets/js/138.f0d304a7.js"><link rel="prefetch" href="/assets/js/139.502bc6cd.js"><link rel="prefetch" href="/assets/js/14.f91f7aa3.js"><link rel="prefetch" href="/assets/js/140.acded327.js"><link rel="prefetch" href="/assets/js/141.b1320188.js"><link rel="prefetch" href="/assets/js/142.6b6c7137.js"><link rel="prefetch" href="/assets/js/143.3c04448d.js"><link rel="prefetch" href="/assets/js/144.57dcccea.js"><link rel="prefetch" href="/assets/js/145.621bf494.js"><link rel="prefetch" href="/assets/js/146.57748f62.js"><link rel="prefetch" href="/assets/js/147.b9a52a5e.js"><link rel="prefetch" href="/assets/js/148.82e8f46a.js"><link rel="prefetch" href="/assets/js/149.562dd54b.js"><link rel="prefetch" href="/assets/js/15.35ce02ea.js"><link rel="prefetch" href="/assets/js/150.f5375e35.js"><link rel="prefetch" href="/assets/js/151.e37ea908.js"><link rel="prefetch" href="/assets/js/152.f8ceca13.js"><link rel="prefetch" href="/assets/js/153.ea15df12.js"><link rel="prefetch" href="/assets/js/154.60439686.js"><link rel="prefetch" href="/assets/js/155.f69d981a.js"><link rel="prefetch" href="/assets/js/156.5f3037af.js"><link rel="prefetch" href="/assets/js/157.db92597c.js"><link rel="prefetch" href="/assets/js/158.63464c71.js"><link rel="prefetch" href="/assets/js/159.49f53220.js"><link rel="prefetch" href="/assets/js/16.83790206.js"><link rel="prefetch" href="/assets/js/160.839f91e5.js"><link rel="prefetch" href="/assets/js/161.83dd9554.js"><link rel="prefetch" href="/assets/js/162.a97f203c.js"><link rel="prefetch" href="/assets/js/163.ffa0f4b7.js"><link rel="prefetch" href="/assets/js/164.0c1bc502.js"><link rel="prefetch" href="/assets/js/165.6b618aaf.js"><link rel="prefetch" href="/assets/js/166.e8e41596.js"><link rel="prefetch" href="/assets/js/167.b209fa7e.js"><link rel="prefetch" href="/assets/js/168.0ab11734.js"><link rel="prefetch" href="/assets/js/169.45d6b045.js"><link rel="prefetch" href="/assets/js/17.9f561e76.js"><link rel="prefetch" href="/assets/js/170.12d441a3.js"><link rel="prefetch" href="/assets/js/171.4bd59e10.js"><link rel="prefetch" href="/assets/js/172.3791279d.js"><link rel="prefetch" href="/assets/js/173.84c79630.js"><link rel="prefetch" href="/assets/js/174.5a4b9853.js"><link rel="prefetch" href="/assets/js/175.f22516b8.js"><link rel="prefetch" href="/assets/js/176.b2043a34.js"><link rel="prefetch" href="/assets/js/177.d5bcbf71.js"><link rel="prefetch" href="/assets/js/178.e0ec8976.js"><link rel="prefetch" href="/assets/js/179.c6d92b7e.js"><link rel="prefetch" href="/assets/js/18.bee25d08.js"><link rel="prefetch" href="/assets/js/180.2d026051.js"><link rel="prefetch" href="/assets/js/181.2bec5ec0.js"><link rel="prefetch" href="/assets/js/182.2db5ae56.js"><link rel="prefetch" href="/assets/js/183.d66dc7be.js"><link rel="prefetch" href="/assets/js/184.807447c9.js"><link rel="prefetch" href="/assets/js/185.d3bba477.js"><link rel="prefetch" href="/assets/js/186.4894617b.js"><link rel="prefetch" href="/assets/js/187.2b1bb010.js"><link rel="prefetch" href="/assets/js/188.729340b6.js"><link rel="prefetch" href="/assets/js/189.316a4812.js"><link rel="prefetch" href="/assets/js/19.e1031edc.js"><link rel="prefetch" href="/assets/js/190.1fa0ac1e.js"><link rel="prefetch" href="/assets/js/191.e0f2dd7e.js"><link rel="prefetch" href="/assets/js/192.1114f99e.js"><link rel="prefetch" href="/assets/js/193.ce190ddf.js"><link rel="prefetch" href="/assets/js/194.c6480a67.js"><link rel="prefetch" href="/assets/js/195.50f21d4a.js"><link rel="prefetch" href="/assets/js/196.a9834391.js"><link rel="prefetch" href="/assets/js/197.1261ca51.js"><link rel="prefetch" href="/assets/js/198.b8af2d18.js"><link rel="prefetch" href="/assets/js/199.65f15129.js"><link rel="prefetch" href="/assets/js/20.6630eb9b.js"><link rel="prefetch" href="/assets/js/200.bac24cbc.js"><link rel="prefetch" href="/assets/js/201.d5fd3d51.js"><link rel="prefetch" href="/assets/js/202.e471741b.js"><link rel="prefetch" href="/assets/js/203.891ef2a4.js"><link rel="prefetch" href="/assets/js/204.923c126c.js"><link rel="prefetch" href="/assets/js/205.dab7697a.js"><link rel="prefetch" href="/assets/js/206.79239033.js"><link rel="prefetch" href="/assets/js/207.1f1a4c8f.js"><link rel="prefetch" href="/assets/js/208.f1fcc06a.js"><link rel="prefetch" href="/assets/js/209.970a097a.js"><link rel="prefetch" href="/assets/js/21.6a71308e.js"><link rel="prefetch" href="/assets/js/210.b9c35af4.js"><link rel="prefetch" href="/assets/js/211.1db32f73.js"><link rel="prefetch" href="/assets/js/212.355256ad.js"><link rel="prefetch" href="/assets/js/213.6bd70d76.js"><link rel="prefetch" href="/assets/js/214.be299b84.js"><link rel="prefetch" href="/assets/js/215.25de9528.js"><link rel="prefetch" href="/assets/js/216.c938b634.js"><link rel="prefetch" href="/assets/js/217.3258924a.js"><link rel="prefetch" href="/assets/js/218.fc33d79c.js"><link rel="prefetch" href="/assets/js/219.62dcb109.js"><link rel="prefetch" href="/assets/js/22.ac70f818.js"><link rel="prefetch" href="/assets/js/220.27560614.js"><link rel="prefetch" href="/assets/js/221.7bbe6cce.js"><link rel="prefetch" href="/assets/js/222.80debc54.js"><link rel="prefetch" href="/assets/js/223.e2a6fcc7.js"><link rel="prefetch" href="/assets/js/224.62b003f8.js"><link rel="prefetch" href="/assets/js/225.ef8cc70b.js"><link rel="prefetch" href="/assets/js/226.b6b6b553.js"><link rel="prefetch" href="/assets/js/227.8765c7b9.js"><link rel="prefetch" href="/assets/js/228.2b87e199.js"><link rel="prefetch" href="/assets/js/229.eede162a.js"><link rel="prefetch" href="/assets/js/23.6aeff4fd.js"><link rel="prefetch" href="/assets/js/230.ca6c3b84.js"><link rel="prefetch" href="/assets/js/231.e537fe71.js"><link rel="prefetch" href="/assets/js/232.524cd789.js"><link rel="prefetch" href="/assets/js/233.611cbbb8.js"><link rel="prefetch" href="/assets/js/234.0f5b8f11.js"><link rel="prefetch" href="/assets/js/235.37369cbc.js"><link rel="prefetch" href="/assets/js/236.f2995a1b.js"><link rel="prefetch" href="/assets/js/237.b9c427ee.js"><link rel="prefetch" href="/assets/js/238.4747200a.js"><link rel="prefetch" href="/assets/js/239.9f203d6d.js"><link rel="prefetch" href="/assets/js/24.22d894b5.js"><link rel="prefetch" href="/assets/js/240.4b1eb0ca.js"><link rel="prefetch" href="/assets/js/241.6229859f.js"><link rel="prefetch" href="/assets/js/242.6708dbc9.js"><link rel="prefetch" href="/assets/js/243.01ded123.js"><link rel="prefetch" href="/assets/js/244.d7421207.js"><link rel="prefetch" href="/assets/js/245.cec7951e.js"><link rel="prefetch" href="/assets/js/246.d96fff94.js"><link rel="prefetch" href="/assets/js/247.fedf9d88.js"><link rel="prefetch" href="/assets/js/248.66475f22.js"><link rel="prefetch" href="/assets/js/249.e9e77deb.js"><link rel="prefetch" href="/assets/js/25.e7c8dc4c.js"><link rel="prefetch" href="/assets/js/250.3899ae44.js"><link rel="prefetch" href="/assets/js/251.9a3472ca.js"><link rel="prefetch" href="/assets/js/252.6480d48a.js"><link rel="prefetch" href="/assets/js/253.44d8649f.js"><link rel="prefetch" href="/assets/js/254.8e0f65c7.js"><link rel="prefetch" href="/assets/js/255.a83273c5.js"><link rel="prefetch" href="/assets/js/256.0a9223ac.js"><link rel="prefetch" href="/assets/js/257.b1bb103b.js"><link rel="prefetch" href="/assets/js/258.b5c385f2.js"><link rel="prefetch" href="/assets/js/259.b5569ee6.js"><link rel="prefetch" href="/assets/js/26.84817afe.js"><link rel="prefetch" href="/assets/js/260.fc484fd6.js"><link rel="prefetch" href="/assets/js/261.b7b1f7b8.js"><link rel="prefetch" href="/assets/js/262.70ddf49d.js"><link rel="prefetch" href="/assets/js/263.de3eeba2.js"><link rel="prefetch" href="/assets/js/264.a98ca138.js"><link rel="prefetch" href="/assets/js/265.904b1ea5.js"><link rel="prefetch" href="/assets/js/266.0dcd167c.js"><link rel="prefetch" href="/assets/js/267.cc30c4e8.js"><link rel="prefetch" href="/assets/js/268.9bbd2ef9.js"><link rel="prefetch" href="/assets/js/269.3f1090bc.js"><link rel="prefetch" href="/assets/js/27.05b9c8cb.js"><link rel="prefetch" href="/assets/js/270.e10428aa.js"><link rel="prefetch" href="/assets/js/271.2ca9efaf.js"><link rel="prefetch" href="/assets/js/272.7652b316.js"><link rel="prefetch" href="/assets/js/273.8e62675d.js"><link rel="prefetch" href="/assets/js/274.9f054e35.js"><link rel="prefetch" href="/assets/js/275.81ffed1d.js"><link rel="prefetch" href="/assets/js/276.0542f4bf.js"><link rel="prefetch" href="/assets/js/277.92ce41b9.js"><link rel="prefetch" href="/assets/js/278.d6f5d869.js"><link rel="prefetch" href="/assets/js/279.f6bf6ad1.js"><link rel="prefetch" href="/assets/js/28.b3df7c4f.js"><link rel="prefetch" href="/assets/js/280.9cc3eaa5.js"><link rel="prefetch" href="/assets/js/281.83d225ff.js"><link rel="prefetch" href="/assets/js/282.cf67bf32.js"><link rel="prefetch" href="/assets/js/283.e48d2a5e.js"><link rel="prefetch" href="/assets/js/284.b23abe7a.js"><link rel="prefetch" href="/assets/js/285.016e8a5e.js"><link rel="prefetch" href="/assets/js/286.2a05be1c.js"><link rel="prefetch" href="/assets/js/287.fadd401c.js"><link rel="prefetch" href="/assets/js/288.3a0e3f9c.js"><link rel="prefetch" href="/assets/js/289.5faf351e.js"><link rel="prefetch" href="/assets/js/29.1174e4fe.js"><link rel="prefetch" href="/assets/js/290.462de1c5.js"><link rel="prefetch" href="/assets/js/291.269c10b1.js"><link rel="prefetch" href="/assets/js/292.6411cf3b.js"><link rel="prefetch" href="/assets/js/293.55842a61.js"><link rel="prefetch" href="/assets/js/294.85245fbd.js"><link rel="prefetch" href="/assets/js/295.be88fd77.js"><link rel="prefetch" href="/assets/js/296.9c4e0a5a.js"><link rel="prefetch" href="/assets/js/297.cf92ce58.js"><link rel="prefetch" href="/assets/js/298.dd267567.js"><link rel="prefetch" href="/assets/js/299.63ca0b03.js"><link rel="prefetch" href="/assets/js/30.8899de4a.js"><link rel="prefetch" href="/assets/js/300.96c4cc27.js"><link rel="prefetch" href="/assets/js/301.0c53b20e.js"><link rel="prefetch" href="/assets/js/302.34977321.js"><link rel="prefetch" href="/assets/js/303.f6d97663.js"><link rel="prefetch" href="/assets/js/304.d3b3fc94.js"><link rel="prefetch" href="/assets/js/305.5e482fc5.js"><link rel="prefetch" href="/assets/js/306.f179e975.js"><link rel="prefetch" href="/assets/js/307.660d6e88.js"><link rel="prefetch" href="/assets/js/308.75b8e2cc.js"><link rel="prefetch" href="/assets/js/309.3c2a761f.js"><link rel="prefetch" href="/assets/js/31.bb1c06b0.js"><link rel="prefetch" href="/assets/js/310.467479a2.js"><link rel="prefetch" href="/assets/js/311.bbd687c1.js"><link rel="prefetch" href="/assets/js/312.369cece3.js"><link rel="prefetch" href="/assets/js/313.979e09ad.js"><link rel="prefetch" href="/assets/js/314.08869f2e.js"><link rel="prefetch" href="/assets/js/315.851a149e.js"><link rel="prefetch" href="/assets/js/316.1e6ccd57.js"><link rel="prefetch" href="/assets/js/317.c902d261.js"><link rel="prefetch" href="/assets/js/318.eb704257.js"><link rel="prefetch" href="/assets/js/319.1e7ec2cc.js"><link rel="prefetch" href="/assets/js/32.a771dfde.js"><link rel="prefetch" href="/assets/js/320.ae3e128d.js"><link rel="prefetch" href="/assets/js/321.4f1542b6.js"><link rel="prefetch" href="/assets/js/322.454c3ff2.js"><link rel="prefetch" href="/assets/js/323.a6105df9.js"><link rel="prefetch" href="/assets/js/324.12c5bc76.js"><link rel="prefetch" href="/assets/js/325.f08dcc15.js"><link rel="prefetch" href="/assets/js/326.2160bda3.js"><link rel="prefetch" href="/assets/js/327.9f1515c7.js"><link rel="prefetch" href="/assets/js/328.419aedff.js"><link rel="prefetch" href="/assets/js/329.664c31fd.js"><link rel="prefetch" href="/assets/js/33.38edc1ca.js"><link rel="prefetch" href="/assets/js/330.388463f2.js"><link rel="prefetch" href="/assets/js/331.6710c467.js"><link rel="prefetch" href="/assets/js/332.0f03ea44.js"><link rel="prefetch" href="/assets/js/333.0fae4a17.js"><link rel="prefetch" href="/assets/js/334.3d138bfb.js"><link rel="prefetch" href="/assets/js/335.ae6b1cec.js"><link rel="prefetch" href="/assets/js/336.73f11884.js"><link rel="prefetch" href="/assets/js/337.86332930.js"><link rel="prefetch" href="/assets/js/338.98c64041.js"><link rel="prefetch" href="/assets/js/339.dd8b3169.js"><link rel="prefetch" href="/assets/js/34.09d75d60.js"><link rel="prefetch" href="/assets/js/340.b180ba69.js"><link rel="prefetch" href="/assets/js/341.3542986b.js"><link rel="prefetch" href="/assets/js/342.b5d989b3.js"><link rel="prefetch" href="/assets/js/343.c6cdfdcc.js"><link rel="prefetch" href="/assets/js/344.4de4e86d.js"><link rel="prefetch" href="/assets/js/345.27f5cc4f.js"><link rel="prefetch" href="/assets/js/346.2eeec973.js"><link rel="prefetch" href="/assets/js/347.aa7191ea.js"><link rel="prefetch" href="/assets/js/348.3c2a0b22.js"><link rel="prefetch" href="/assets/js/349.b2399f7f.js"><link rel="prefetch" href="/assets/js/35.21698584.js"><link rel="prefetch" href="/assets/js/350.e260fc85.js"><link rel="prefetch" href="/assets/js/351.e489f171.js"><link rel="prefetch" href="/assets/js/352.8dccb13d.js"><link rel="prefetch" href="/assets/js/353.22482b37.js"><link rel="prefetch" href="/assets/js/354.142e4673.js"><link rel="prefetch" href="/assets/js/355.9e8ebc3b.js"><link rel="prefetch" href="/assets/js/356.af66f85e.js"><link rel="prefetch" href="/assets/js/357.c36c6483.js"><link rel="prefetch" href="/assets/js/358.df18b875.js"><link rel="prefetch" href="/assets/js/359.dac04f0d.js"><link rel="prefetch" href="/assets/js/36.c880abcc.js"><link rel="prefetch" href="/assets/js/360.7627b334.js"><link rel="prefetch" href="/assets/js/361.a519e5e5.js"><link rel="prefetch" href="/assets/js/362.e86d7fca.js"><link rel="prefetch" href="/assets/js/363.83503271.js"><link rel="prefetch" href="/assets/js/364.442925f7.js"><link rel="prefetch" href="/assets/js/365.d6b68ebe.js"><link rel="prefetch" href="/assets/js/366.1483ad91.js"><link rel="prefetch" href="/assets/js/367.d4ebe68b.js"><link rel="prefetch" href="/assets/js/368.905cc3ba.js"><link rel="prefetch" href="/assets/js/369.dc47691e.js"><link rel="prefetch" href="/assets/js/37.7b6da85a.js"><link rel="prefetch" href="/assets/js/370.68163b32.js"><link rel="prefetch" href="/assets/js/371.39e82ccb.js"><link rel="prefetch" href="/assets/js/372.f4c1669e.js"><link rel="prefetch" href="/assets/js/373.e51fa9ac.js"><link rel="prefetch" href="/assets/js/374.44001e70.js"><link rel="prefetch" href="/assets/js/375.c7614404.js"><link rel="prefetch" href="/assets/js/376.d906a98a.js"><link rel="prefetch" href="/assets/js/377.1f0f43cf.js"><link rel="prefetch" href="/assets/js/378.9d206c29.js"><link rel="prefetch" href="/assets/js/379.9c4a47c8.js"><link rel="prefetch" href="/assets/js/38.7ed5f5d7.js"><link rel="prefetch" href="/assets/js/380.dd84db42.js"><link rel="prefetch" href="/assets/js/381.87b64ab9.js"><link rel="prefetch" href="/assets/js/382.7afb701c.js"><link rel="prefetch" href="/assets/js/383.fd59d7ea.js"><link rel="prefetch" href="/assets/js/384.26f7327d.js"><link rel="prefetch" href="/assets/js/385.4b339980.js"><link rel="prefetch" href="/assets/js/386.5a97def1.js"><link rel="prefetch" href="/assets/js/387.b944b922.js"><link rel="prefetch" href="/assets/js/388.a39e2187.js"><link rel="prefetch" href="/assets/js/389.10ddca45.js"><link rel="prefetch" href="/assets/js/39.9e375df7.js"><link rel="prefetch" href="/assets/js/390.e48e5e4d.js"><link rel="prefetch" href="/assets/js/391.bd314b98.js"><link rel="prefetch" href="/assets/js/392.90b5ed43.js"><link rel="prefetch" href="/assets/js/393.5c87ebdd.js"><link rel="prefetch" href="/assets/js/394.fbaf194b.js"><link rel="prefetch" href="/assets/js/395.1c63c896.js"><link rel="prefetch" href="/assets/js/396.c251aa9d.js"><link rel="prefetch" href="/assets/js/397.bf3a817c.js"><link rel="prefetch" href="/assets/js/398.64110279.js"><link rel="prefetch" href="/assets/js/399.6f2f084e.js"><link rel="prefetch" href="/assets/js/4.e19e5b65.js"><link rel="prefetch" href="/assets/js/40.ca86458f.js"><link rel="prefetch" href="/assets/js/400.ec35935d.js"><link rel="prefetch" href="/assets/js/401.beb10846.js"><link rel="prefetch" href="/assets/js/402.453593bb.js"><link rel="prefetch" href="/assets/js/403.0d58fe4e.js"><link rel="prefetch" href="/assets/js/404.64b2109b.js"><link rel="prefetch" href="/assets/js/405.0874fac6.js"><link rel="prefetch" href="/assets/js/406.f436ac12.js"><link rel="prefetch" href="/assets/js/407.d64de66d.js"><link rel="prefetch" href="/assets/js/408.af3a53d1.js"><link rel="prefetch" href="/assets/js/409.cc389d5e.js"><link rel="prefetch" href="/assets/js/41.d0455f88.js"><link rel="prefetch" href="/assets/js/410.f638ab67.js"><link rel="prefetch" href="/assets/js/411.1315c95a.js"><link rel="prefetch" href="/assets/js/412.29ece64c.js"><link rel="prefetch" href="/assets/js/413.a70d808a.js"><link rel="prefetch" href="/assets/js/414.2f09f452.js"><link rel="prefetch" href="/assets/js/415.8917ee29.js"><link rel="prefetch" href="/assets/js/416.479774fb.js"><link rel="prefetch" href="/assets/js/417.20bbff69.js"><link rel="prefetch" href="/assets/js/418.32af9f03.js"><link rel="prefetch" href="/assets/js/419.7e6324a6.js"><link rel="prefetch" href="/assets/js/42.0e0c3906.js"><link rel="prefetch" href="/assets/js/420.1be4dc9d.js"><link rel="prefetch" href="/assets/js/421.c2360c3b.js"><link rel="prefetch" href="/assets/js/422.e4dc3a56.js"><link rel="prefetch" href="/assets/js/423.84ea534e.js"><link rel="prefetch" href="/assets/js/424.2ac4e591.js"><link rel="prefetch" href="/assets/js/425.21e72da3.js"><link rel="prefetch" href="/assets/js/426.2ed31b74.js"><link rel="prefetch" href="/assets/js/427.baec8d2e.js"><link rel="prefetch" href="/assets/js/428.1bb36e2b.js"><link rel="prefetch" href="/assets/js/429.bbf28346.js"><link rel="prefetch" href="/assets/js/43.396616b8.js"><link rel="prefetch" href="/assets/js/430.64f0289e.js"><link rel="prefetch" href="/assets/js/431.ccb48bf7.js"><link rel="prefetch" href="/assets/js/432.17ccb626.js"><link rel="prefetch" href="/assets/js/433.b4211ab1.js"><link rel="prefetch" href="/assets/js/434.0b02c4fc.js"><link rel="prefetch" href="/assets/js/435.61b7aea8.js"><link rel="prefetch" href="/assets/js/436.b2032c78.js"><link rel="prefetch" href="/assets/js/437.f0f1b8a5.js"><link rel="prefetch" href="/assets/js/438.8617f474.js"><link rel="prefetch" href="/assets/js/439.02d631c3.js"><link rel="prefetch" href="/assets/js/44.800f57f4.js"><link rel="prefetch" href="/assets/js/440.eee832f5.js"><link rel="prefetch" href="/assets/js/441.2f4ef038.js"><link rel="prefetch" href="/assets/js/442.8ad7850e.js"><link rel="prefetch" href="/assets/js/443.5a865822.js"><link rel="prefetch" href="/assets/js/444.4d4c0ea8.js"><link rel="prefetch" href="/assets/js/445.1c2f4602.js"><link rel="prefetch" href="/assets/js/446.5e62a68b.js"><link rel="prefetch" href="/assets/js/447.76ca1ab6.js"><link rel="prefetch" href="/assets/js/448.f24b9d13.js"><link rel="prefetch" href="/assets/js/449.f4b46374.js"><link rel="prefetch" href="/assets/js/45.0f75ae04.js"><link rel="prefetch" href="/assets/js/450.dccf55c2.js"><link rel="prefetch" href="/assets/js/451.fe7847bb.js"><link rel="prefetch" href="/assets/js/452.c6d3a503.js"><link rel="prefetch" href="/assets/js/453.095c9eb0.js"><link rel="prefetch" href="/assets/js/454.b72fba01.js"><link rel="prefetch" href="/assets/js/455.240f80b1.js"><link rel="prefetch" href="/assets/js/456.2f2002c2.js"><link rel="prefetch" href="/assets/js/457.e56f8377.js"><link rel="prefetch" href="/assets/js/458.e27b4532.js"><link rel="prefetch" href="/assets/js/459.c0163678.js"><link rel="prefetch" href="/assets/js/46.b5efd5cf.js"><link rel="prefetch" href="/assets/js/460.f6ac49ac.js"><link rel="prefetch" href="/assets/js/461.048cacd7.js"><link rel="prefetch" href="/assets/js/462.4ea7333e.js"><link rel="prefetch" href="/assets/js/463.d54b96ac.js"><link rel="prefetch" href="/assets/js/464.1edc293a.js"><link rel="prefetch" href="/assets/js/465.e3b97ba5.js"><link rel="prefetch" href="/assets/js/466.4e5f5bd5.js"><link rel="prefetch" href="/assets/js/467.2c58cef7.js"><link rel="prefetch" href="/assets/js/468.da886384.js"><link rel="prefetch" href="/assets/js/469.3e99047a.js"><link rel="prefetch" href="/assets/js/47.0aa5076d.js"><link rel="prefetch" href="/assets/js/470.ad8436ce.js"><link rel="prefetch" href="/assets/js/471.8f16ef20.js"><link rel="prefetch" href="/assets/js/472.d62011cb.js"><link rel="prefetch" href="/assets/js/473.4b5e56a3.js"><link rel="prefetch" href="/assets/js/474.a3946621.js"><link rel="prefetch" href="/assets/js/475.c276e28f.js"><link rel="prefetch" href="/assets/js/476.dd80ebd8.js"><link rel="prefetch" href="/assets/js/477.9ce1dfe5.js"><link rel="prefetch" href="/assets/js/478.49340b0c.js"><link rel="prefetch" href="/assets/js/479.77aa27ca.js"><link rel="prefetch" href="/assets/js/48.b5d02afd.js"><link rel="prefetch" href="/assets/js/480.8d22777f.js"><link rel="prefetch" href="/assets/js/481.6402ef73.js"><link rel="prefetch" href="/assets/js/482.2df21d58.js"><link rel="prefetch" href="/assets/js/483.a410ebd1.js"><link rel="prefetch" href="/assets/js/484.0cd4e910.js"><link rel="prefetch" href="/assets/js/485.c7121c30.js"><link rel="prefetch" href="/assets/js/486.6d7508e8.js"><link rel="prefetch" href="/assets/js/487.d72c83bc.js"><link rel="prefetch" href="/assets/js/488.2d50c925.js"><link rel="prefetch" href="/assets/js/489.2d846ec7.js"><link rel="prefetch" href="/assets/js/49.28b4f389.js"><link rel="prefetch" href="/assets/js/490.457165b6.js"><link rel="prefetch" href="/assets/js/491.60515972.js"><link rel="prefetch" href="/assets/js/492.5a4b007a.js"><link rel="prefetch" href="/assets/js/493.9cbc6ade.js"><link rel="prefetch" href="/assets/js/494.021beed8.js"><link rel="prefetch" href="/assets/js/495.a4fd902c.js"><link rel="prefetch" href="/assets/js/496.8f74e7f7.js"><link rel="prefetch" href="/assets/js/497.1122dc1f.js"><link rel="prefetch" href="/assets/js/498.2e9dab65.js"><link rel="prefetch" href="/assets/js/499.297b97f9.js"><link rel="prefetch" href="/assets/js/5.f601e2c6.js"><link rel="prefetch" href="/assets/js/50.b46bfa37.js"><link rel="prefetch" href="/assets/js/500.f02e14a2.js"><link rel="prefetch" href="/assets/js/501.ff252fac.js"><link rel="prefetch" href="/assets/js/502.74275904.js"><link rel="prefetch" href="/assets/js/503.b046e6e3.js"><link rel="prefetch" href="/assets/js/504.b2d68768.js"><link rel="prefetch" href="/assets/js/505.1c50da2f.js"><link rel="prefetch" href="/assets/js/506.7680ad8b.js"><link rel="prefetch" href="/assets/js/507.78bfce43.js"><link rel="prefetch" href="/assets/js/508.0474ffee.js"><link rel="prefetch" href="/assets/js/509.0ba4c294.js"><link rel="prefetch" href="/assets/js/51.b0048e3c.js"><link rel="prefetch" href="/assets/js/510.b7eefba5.js"><link rel="prefetch" href="/assets/js/511.9a497ad5.js"><link rel="prefetch" href="/assets/js/512.2da3474e.js"><link rel="prefetch" href="/assets/js/513.17cd801f.js"><link rel="prefetch" href="/assets/js/514.b5740630.js"><link rel="prefetch" href="/assets/js/515.f5b05cb7.js"><link rel="prefetch" href="/assets/js/516.5406d3c3.js"><link rel="prefetch" href="/assets/js/517.e804f64b.js"><link rel="prefetch" href="/assets/js/518.d2e77dfb.js"><link rel="prefetch" href="/assets/js/519.e61fe14b.js"><link rel="prefetch" href="/assets/js/52.2ce8a95c.js"><link rel="prefetch" href="/assets/js/520.f11f6552.js"><link rel="prefetch" href="/assets/js/521.afd4626c.js"><link rel="prefetch" href="/assets/js/522.10794d6b.js"><link rel="prefetch" href="/assets/js/523.78bd8323.js"><link rel="prefetch" href="/assets/js/524.517c745e.js"><link rel="prefetch" href="/assets/js/525.d98580e8.js"><link rel="prefetch" href="/assets/js/526.f52a03b1.js"><link rel="prefetch" href="/assets/js/527.8c0f243c.js"><link rel="prefetch" href="/assets/js/528.d6400e16.js"><link rel="prefetch" href="/assets/js/529.834d4795.js"><link rel="prefetch" href="/assets/js/53.cdc67708.js"><link rel="prefetch" href="/assets/js/530.86be995a.js"><link rel="prefetch" href="/assets/js/531.cb846ed9.js"><link rel="prefetch" href="/assets/js/532.435e01e6.js"><link rel="prefetch" href="/assets/js/533.bc3ccd7d.js"><link rel="prefetch" href="/assets/js/534.61432931.js"><link rel="prefetch" href="/assets/js/535.de13ca9d.js"><link rel="prefetch" href="/assets/js/536.82af29b4.js"><link rel="prefetch" href="/assets/js/537.6f752734.js"><link rel="prefetch" href="/assets/js/538.79db0438.js"><link rel="prefetch" href="/assets/js/539.b182551c.js"><link rel="prefetch" href="/assets/js/54.852a28b1.js"><link rel="prefetch" href="/assets/js/540.1eaa9e46.js"><link rel="prefetch" href="/assets/js/541.d1704af4.js"><link rel="prefetch" href="/assets/js/542.5131fefe.js"><link rel="prefetch" href="/assets/js/543.6495f909.js"><link rel="prefetch" href="/assets/js/544.a6804db5.js"><link rel="prefetch" href="/assets/js/545.22d722fb.js"><link rel="prefetch" href="/assets/js/546.8a7ba545.js"><link rel="prefetch" href="/assets/js/547.34e5b75f.js"><link rel="prefetch" href="/assets/js/548.a4e1bf1f.js"><link rel="prefetch" href="/assets/js/549.ba6cf74d.js"><link rel="prefetch" href="/assets/js/55.51b50f23.js"><link rel="prefetch" href="/assets/js/550.99d0bed3.js"><link rel="prefetch" href="/assets/js/551.486225fa.js"><link rel="prefetch" href="/assets/js/552.a7698070.js"><link rel="prefetch" href="/assets/js/553.72442e94.js"><link rel="prefetch" href="/assets/js/554.9f659a95.js"><link rel="prefetch" href="/assets/js/555.79105f54.js"><link rel="prefetch" href="/assets/js/556.5ac34394.js"><link rel="prefetch" href="/assets/js/557.fcc4c200.js"><link rel="prefetch" href="/assets/js/558.cf710b40.js"><link rel="prefetch" href="/assets/js/559.7a67f2bf.js"><link rel="prefetch" href="/assets/js/56.322c9d73.js"><link rel="prefetch" href="/assets/js/560.26973d16.js"><link rel="prefetch" href="/assets/js/561.963f3b87.js"><link rel="prefetch" href="/assets/js/562.33b31a71.js"><link rel="prefetch" href="/assets/js/563.9f4c8ef9.js"><link rel="prefetch" href="/assets/js/564.0a702d86.js"><link rel="prefetch" href="/assets/js/565.7d175fa8.js"><link rel="prefetch" href="/assets/js/566.8ccf09c3.js"><link rel="prefetch" href="/assets/js/567.7e06252f.js"><link rel="prefetch" href="/assets/js/568.43abfae1.js"><link rel="prefetch" href="/assets/js/569.dc0ff020.js"><link rel="prefetch" href="/assets/js/57.a10dddfe.js"><link rel="prefetch" href="/assets/js/570.e604e800.js"><link rel="prefetch" href="/assets/js/571.504095ed.js"><link rel="prefetch" href="/assets/js/572.2f0039ee.js"><link rel="prefetch" href="/assets/js/573.ccb29fa1.js"><link rel="prefetch" href="/assets/js/574.0fe7c1a7.js"><link rel="prefetch" href="/assets/js/575.d0c6cfca.js"><link rel="prefetch" href="/assets/js/576.e9fce0dc.js"><link rel="prefetch" href="/assets/js/577.02a46829.js"><link rel="prefetch" href="/assets/js/578.143a00ae.js"><link rel="prefetch" href="/assets/js/579.edb2ffaa.js"><link rel="prefetch" href="/assets/js/58.83bb5108.js"><link rel="prefetch" href="/assets/js/580.6f91cae1.js"><link rel="prefetch" href="/assets/js/581.684a8aa0.js"><link rel="prefetch" href="/assets/js/582.3d7d4b7e.js"><link rel="prefetch" href="/assets/js/583.7d19cde6.js"><link rel="prefetch" href="/assets/js/584.39186422.js"><link rel="prefetch" href="/assets/js/585.04103c48.js"><link rel="prefetch" href="/assets/js/586.f401354d.js"><link rel="prefetch" href="/assets/js/587.ec2d893a.js"><link rel="prefetch" href="/assets/js/588.33e6086a.js"><link rel="prefetch" href="/assets/js/589.ab29d7bc.js"><link rel="prefetch" href="/assets/js/59.cc5dab60.js"><link rel="prefetch" href="/assets/js/590.c48fb368.js"><link rel="prefetch" href="/assets/js/591.4a88741c.js"><link rel="prefetch" href="/assets/js/592.de737792.js"><link rel="prefetch" href="/assets/js/593.81b71bc3.js"><link rel="prefetch" href="/assets/js/594.b26e80f0.js"><link rel="prefetch" href="/assets/js/595.b6d821b3.js"><link rel="prefetch" href="/assets/js/596.f23c17b8.js"><link rel="prefetch" href="/assets/js/597.5fac2ef0.js"><link rel="prefetch" href="/assets/js/598.7d355956.js"><link rel="prefetch" href="/assets/js/599.0fa92860.js"><link rel="prefetch" href="/assets/js/6.4e244a8f.js"><link rel="prefetch" href="/assets/js/60.2aeb1b9a.js"><link rel="prefetch" href="/assets/js/600.432cd735.js"><link rel="prefetch" href="/assets/js/601.d4f8c47d.js"><link rel="prefetch" href="/assets/js/602.7566e271.js"><link rel="prefetch" href="/assets/js/603.8b533b29.js"><link rel="prefetch" href="/assets/js/604.02da7023.js"><link rel="prefetch" href="/assets/js/605.b7688154.js"><link rel="prefetch" href="/assets/js/606.a783ad64.js"><link rel="prefetch" href="/assets/js/607.885adf5d.js"><link rel="prefetch" href="/assets/js/608.1218b0a7.js"><link rel="prefetch" href="/assets/js/609.ed46563d.js"><link rel="prefetch" href="/assets/js/61.82373b6d.js"><link rel="prefetch" href="/assets/js/610.0af795fd.js"><link rel="prefetch" href="/assets/js/611.c32d37b1.js"><link rel="prefetch" href="/assets/js/612.0bdaf89d.js"><link rel="prefetch" href="/assets/js/613.4b541ed7.js"><link rel="prefetch" href="/assets/js/614.97959899.js"><link rel="prefetch" href="/assets/js/615.8657f346.js"><link rel="prefetch" href="/assets/js/616.81f0e8b7.js"><link rel="prefetch" href="/assets/js/617.82d959b1.js"><link rel="prefetch" href="/assets/js/618.1ea8b071.js"><link rel="prefetch" href="/assets/js/619.01485d51.js"><link rel="prefetch" href="/assets/js/62.cc94d7d9.js"><link rel="prefetch" href="/assets/js/620.db8e8c52.js"><link rel="prefetch" href="/assets/js/621.70b79bad.js"><link rel="prefetch" href="/assets/js/622.9abcb1a4.js"><link rel="prefetch" href="/assets/js/623.47510f2d.js"><link rel="prefetch" href="/assets/js/624.e6c6899a.js"><link rel="prefetch" href="/assets/js/625.4cc868f7.js"><link rel="prefetch" href="/assets/js/626.9818e367.js"><link rel="prefetch" href="/assets/js/627.a717cb3a.js"><link rel="prefetch" href="/assets/js/628.e55e5ef0.js"><link rel="prefetch" href="/assets/js/629.bb25a00f.js"><link rel="prefetch" href="/assets/js/63.55a86922.js"><link rel="prefetch" href="/assets/js/630.9f1f8a8a.js"><link rel="prefetch" href="/assets/js/631.d9292a85.js"><link rel="prefetch" href="/assets/js/632.33483bac.js"><link rel="prefetch" href="/assets/js/633.91476276.js"><link rel="prefetch" href="/assets/js/634.ca386797.js"><link rel="prefetch" href="/assets/js/635.e0bad906.js"><link rel="prefetch" href="/assets/js/636.5723212e.js"><link rel="prefetch" href="/assets/js/637.ad7a47f1.js"><link rel="prefetch" href="/assets/js/638.0badbcb7.js"><link rel="prefetch" href="/assets/js/639.00ed3828.js"><link rel="prefetch" href="/assets/js/64.d79d69b2.js"><link rel="prefetch" href="/assets/js/640.8e349672.js"><link rel="prefetch" href="/assets/js/641.ffd94305.js"><link rel="prefetch" href="/assets/js/642.d1e11915.js"><link rel="prefetch" href="/assets/js/643.22256630.js"><link rel="prefetch" href="/assets/js/644.e841cb34.js"><link rel="prefetch" href="/assets/js/645.ec7914c4.js"><link rel="prefetch" href="/assets/js/646.3c629f71.js"><link rel="prefetch" href="/assets/js/647.666ccf21.js"><link rel="prefetch" href="/assets/js/648.2cddd854.js"><link rel="prefetch" href="/assets/js/649.8631d669.js"><link rel="prefetch" href="/assets/js/65.4599fb61.js"><link rel="prefetch" href="/assets/js/650.2b27251b.js"><link rel="prefetch" href="/assets/js/651.51f88ef0.js"><link rel="prefetch" href="/assets/js/652.868ca6b2.js"><link rel="prefetch" href="/assets/js/653.ee0ef42f.js"><link rel="prefetch" href="/assets/js/654.bc214cdb.js"><link rel="prefetch" href="/assets/js/655.55d5bf98.js"><link rel="prefetch" href="/assets/js/656.64638df0.js"><link rel="prefetch" href="/assets/js/657.b75a5110.js"><link rel="prefetch" href="/assets/js/658.7cc3c9c3.js"><link rel="prefetch" href="/assets/js/659.7b10ed7f.js"><link rel="prefetch" href="/assets/js/66.b0fbc84a.js"><link rel="prefetch" href="/assets/js/660.c0fe83e1.js"><link rel="prefetch" href="/assets/js/661.db49cacc.js"><link rel="prefetch" href="/assets/js/662.1c93ab6a.js"><link rel="prefetch" href="/assets/js/663.681f0344.js"><link rel="prefetch" href="/assets/js/664.0fca92db.js"><link rel="prefetch" href="/assets/js/665.0e9ce9ee.js"><link rel="prefetch" href="/assets/js/666.e43fb19a.js"><link rel="prefetch" href="/assets/js/667.4371aac5.js"><link rel="prefetch" href="/assets/js/668.cf0ecfaf.js"><link rel="prefetch" href="/assets/js/669.17320986.js"><link rel="prefetch" href="/assets/js/67.218fa948.js"><link rel="prefetch" href="/assets/js/670.7ecb813f.js"><link rel="prefetch" href="/assets/js/671.d3e51c8b.js"><link rel="prefetch" href="/assets/js/672.924334c3.js"><link rel="prefetch" href="/assets/js/673.2f89b354.js"><link rel="prefetch" href="/assets/js/674.6f26f988.js"><link rel="prefetch" href="/assets/js/675.ce954c7b.js"><link rel="prefetch" href="/assets/js/676.e99f5c84.js"><link rel="prefetch" href="/assets/js/677.d7889cc2.js"><link rel="prefetch" href="/assets/js/678.9f119b1b.js"><link rel="prefetch" href="/assets/js/679.dc7a5dca.js"><link rel="prefetch" href="/assets/js/68.7dacd0ee.js"><link rel="prefetch" href="/assets/js/680.530adc28.js"><link rel="prefetch" href="/assets/js/681.bc8e9268.js"><link rel="prefetch" href="/assets/js/682.40ce8aa9.js"><link rel="prefetch" href="/assets/js/683.64bfc8ec.js"><link rel="prefetch" href="/assets/js/684.8b651561.js"><link rel="prefetch" href="/assets/js/685.96e6de42.js"><link rel="prefetch" href="/assets/js/686.b0fe3991.js"><link rel="prefetch" href="/assets/js/687.5b365307.js"><link rel="prefetch" href="/assets/js/688.c5bc7b28.js"><link rel="prefetch" href="/assets/js/689.2ec8da49.js"><link rel="prefetch" href="/assets/js/69.4de1448f.js"><link rel="prefetch" href="/assets/js/690.e49c1267.js"><link rel="prefetch" href="/assets/js/691.3ce9092c.js"><link rel="prefetch" href="/assets/js/692.bed68924.js"><link rel="prefetch" href="/assets/js/693.9603e9b3.js"><link rel="prefetch" href="/assets/js/694.a41b0c48.js"><link rel="prefetch" href="/assets/js/695.63382ce9.js"><link rel="prefetch" href="/assets/js/696.bc5efa8b.js"><link rel="prefetch" href="/assets/js/697.7369845c.js"><link rel="prefetch" href="/assets/js/698.0712b4ca.js"><link rel="prefetch" href="/assets/js/699.55e242d4.js"><link rel="prefetch" href="/assets/js/7.69014dd1.js"><link rel="prefetch" href="/assets/js/70.45b79f1a.js"><link rel="prefetch" href="/assets/js/700.3312ea73.js"><link rel="prefetch" href="/assets/js/701.3dc0726e.js"><link rel="prefetch" href="/assets/js/702.fd372e43.js"><link rel="prefetch" href="/assets/js/703.6caa80f2.js"><link rel="prefetch" href="/assets/js/704.01cdc0cd.js"><link rel="prefetch" href="/assets/js/705.ed070ee7.js"><link rel="prefetch" href="/assets/js/706.1eb87d0b.js"><link rel="prefetch" href="/assets/js/707.a7371487.js"><link rel="prefetch" href="/assets/js/708.b7c47eb3.js"><link rel="prefetch" href="/assets/js/709.2d6363f1.js"><link rel="prefetch" href="/assets/js/71.c28d6213.js"><link rel="prefetch" href="/assets/js/710.e9439439.js"><link rel="prefetch" href="/assets/js/711.3db9fb3b.js"><link rel="prefetch" href="/assets/js/712.542d43c1.js"><link rel="prefetch" href="/assets/js/713.d15626d6.js"><link rel="prefetch" href="/assets/js/714.6e6b6201.js"><link rel="prefetch" href="/assets/js/715.5a06cf7c.js"><link rel="prefetch" href="/assets/js/716.dc6d7801.js"><link rel="prefetch" href="/assets/js/717.a0a2f41c.js"><link rel="prefetch" href="/assets/js/718.f6e8855c.js"><link rel="prefetch" href="/assets/js/719.9fb91dfc.js"><link rel="prefetch" href="/assets/js/72.ea61b044.js"><link rel="prefetch" href="/assets/js/720.b8f13463.js"><link rel="prefetch" href="/assets/js/721.cee5d60c.js"><link rel="prefetch" href="/assets/js/722.b81bd086.js"><link rel="prefetch" href="/assets/js/723.93731f87.js"><link rel="prefetch" href="/assets/js/724.c294a163.js"><link rel="prefetch" href="/assets/js/725.39b333b8.js"><link rel="prefetch" href="/assets/js/726.8a69920e.js"><link rel="prefetch" href="/assets/js/727.4cf26006.js"><link rel="prefetch" href="/assets/js/728.242d2b02.js"><link rel="prefetch" href="/assets/js/729.261a41d0.js"><link rel="prefetch" href="/assets/js/73.12262b94.js"><link rel="prefetch" href="/assets/js/730.b47c16b7.js"><link rel="prefetch" href="/assets/js/731.fbebd2e7.js"><link rel="prefetch" href="/assets/js/732.58d287ca.js"><link rel="prefetch" href="/assets/js/733.892ccaf9.js"><link rel="prefetch" href="/assets/js/734.1bfd435c.js"><link rel="prefetch" href="/assets/js/735.7774817a.js"><link rel="prefetch" href="/assets/js/736.29311598.js"><link rel="prefetch" href="/assets/js/737.5d9ad2f1.js"><link rel="prefetch" href="/assets/js/738.af3b61b7.js"><link rel="prefetch" href="/assets/js/739.d184b7ae.js"><link rel="prefetch" href="/assets/js/74.fcac7fce.js"><link rel="prefetch" href="/assets/js/740.9e0befcd.js"><link rel="prefetch" href="/assets/js/741.fef670bd.js"><link rel="prefetch" href="/assets/js/742.1430b6df.js"><link rel="prefetch" href="/assets/js/743.309aa98e.js"><link rel="prefetch" href="/assets/js/744.323711cd.js"><link rel="prefetch" href="/assets/js/745.12f0f44d.js"><link rel="prefetch" href="/assets/js/747.cbf0fc32.js"><link rel="prefetch" href="/assets/js/748.dd07df69.js"><link rel="prefetch" href="/assets/js/749.0db7894b.js"><link rel="prefetch" href="/assets/js/75.8a1c6bae.js"><link rel="prefetch" href="/assets/js/76.d7e4aa87.js"><link rel="prefetch" href="/assets/js/77.21d5d1b1.js"><link rel="prefetch" href="/assets/js/78.7eb0f813.js"><link rel="prefetch" href="/assets/js/79.74cc50fc.js"><link rel="prefetch" href="/assets/js/8.eb286131.js"><link rel="prefetch" href="/assets/js/80.2f06a6ff.js"><link rel="prefetch" href="/assets/js/81.6d0c2b9b.js"><link rel="prefetch" href="/assets/js/82.266a30c9.js"><link rel="prefetch" href="/assets/js/83.d4ea3026.js"><link rel="prefetch" href="/assets/js/84.507ab11b.js"><link rel="prefetch" href="/assets/js/85.bb7fcd95.js"><link rel="prefetch" href="/assets/js/86.e5825e50.js"><link rel="prefetch" href="/assets/js/87.722c8174.js"><link rel="prefetch" href="/assets/js/88.93862e3b.js"><link rel="prefetch" href="/assets/js/89.8ad1990c.js"><link rel="prefetch" href="/assets/js/9.c0fae04d.js"><link rel="prefetch" href="/assets/js/90.e4db8db7.js"><link rel="prefetch" href="/assets/js/91.e237b964.js"><link rel="prefetch" href="/assets/js/92.cbfb209b.js"><link rel="prefetch" href="/assets/js/93.f4c7291e.js"><link rel="prefetch" href="/assets/js/94.91de7a6f.js"><link rel="prefetch" href="/assets/js/95.d6ffcb3e.js"><link rel="prefetch" href="/assets/js/96.a3516bb0.js"><link rel="prefetch" href="/assets/js/97.6506db61.js"><link rel="prefetch" href="/assets/js/98.7e7c9fc3.js"><link rel="prefetch" href="/assets/js/99.8fff9ec9.js"><link rel="prefetch" href="/assets/js/vendors~docsearch.3b3aacb0.js">
<link rel="stylesheet" href="/assets/css/0.styles.f50ebe60.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.10.x/Get Started/QuickStart.html" class="nav-link">V0.10.x</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="/zh/Development/HowToCommit.html" class="nav-link">如何提交代码</a></li><li class="dropdown-item"><!----> <a href="/zh/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.10.x/Get Started/QuickStart.html" class="nav-link">V0.10.x</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="/zh/Development/HowToCommit.html" class="nav-link">如何提交代码</a></li><li class="dropdown-item"><!----> <a href="/zh/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.337fc07c.js" defer></script><script src="/assets/js/3.1dc302ea.js" defer></script><script src="/assets/js/746.dee6db6a.js" defer></script>
</body>
</html>