亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Apache IoTDB的TsFile怎么使用

發布時間:2022-01-06 17:13:12 來源:億速云 閱讀:149 作者:iii 欄目:互聯網科技

本篇內容主要講解“Apache IoTDB的TsFile怎么使用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Apache IoTDB的TsFile怎么使用”吧!

在大數據生態中有很多文件格式,像 Parquet,ORC,Avro 等等,都是針對嵌套數據設計的文件格式。這些文件格式普遍具有預先定義的schema,數據以行式寫入,按屬性組織,列式存儲。但是這些文件格式一般不能很好地滿足時間序列數據的管理需求。比如,在一些時間序列數據的場景中,一般各個序列是獨立寫入的,時間戳并不對齊;查詢結果也需要按照時間戳排序。TsFile(Time series File)就是我們為時序數據場景設計的文件格式。今天主要介紹用法,主要針對 0.10 版本。

使用場景

文件格式由于比較輕量級,適合在邊緣端當做一個數據壓縮包使用,這個邊緣端可以是設備內部,也可以是工控機、工廠層級。設備上生成的數據可以隨時持久化到文件中進行存儲。這里說的設備可能一臺風機,上邊會有多個測點,比如風速傳感器、溫度傳感器等。每個傳感器采集的數據就是一個時間序列。聯想的IoT平臺自2017年就開始使用TsFile存儲時序數據。

因此,TsFile 的目標場景是管理一個或多個設備的時序數據。

設備-測點模型

設備(DeviceId):類似表的概念。

測點(MeasurementId):一個設備可以有多個測點,類似表中的列的概念。

時間序列路徑(Path):可以通過設備和測點定義 Path(設備Id,測點Id)。

測點描述信息(MeasurementSchema):每個時間序列都對應一個描述信息,包括數據類型、編碼方式、壓縮方式。

每個時間序列都有兩列:時間列、值列。

最近喜歡畫圖,來畫一張,基本就是這樣的,不同設備可以有不同的測點。

Apache IoTDB的TsFile怎么使用

注冊元數據

使用 TsFile,第一步就是注冊元數據。

注冊時間序列:Path+MeasurementSchema

可以通過這種方式把每個時間序列都注冊進去。

注冊時間序列需要提供一個 Path 和一個 MeasurementSchema 

String path = "test.tsfile";

在 0.10 以前,所有設備都共享一個點表,同名 Measurement 的 schema 也需要一樣(這就是IoTDB里一個存儲組下同名測點類型需要一樣的限制的來源)。在 0.10 以后,每個時間序列做到了真正的獨立,互不干擾。

按模板注冊設備:設備模板+設備

上面這樣一條一條注冊比較麻煩,因此提供了一個設備模板的功能。每個模板定義了一組 MeasurementSchema,比如有10個測點,當一個設備關聯到了這個模板上,就自動注冊出了 10 個序列。

首先生成設備模板,然后注冊模板。

Map<String, MeasurementSchema> template = new HashMap<>();

接下來注冊設備,按模板名關聯到模板上:

tsFileWriter.registerDevice("device_1", "template_1");

這樣,我就注冊了 2 個設備,每個設備都有 2 個測點。

注冊一個模板,實時寫入數據

這個是高級簡化版。當我們只注冊了一個設備模板時,可以不注冊設備,直接寫入數據。寫入流程中如果發現這個設備寫入的數據沒有注冊,會直接到模板里找同名的 MeasurementSchema 進行注冊。這也是繼承了 0.9 以前版本的優良傳統(0.9以前的版本,TsFile 只能注冊一個模板,然后就可以寫數據了)。

寫數據

TsFile 的數據寫入有一個限制,每列都需要按照時間遞增寫入,否則不保證正確性。

按設備寫入一行數據:TSRecord

一個 TSRecord 是一個設備,一個時間戳,多個測點的值。類似一個表的一行數據。

按設備寫入一批數據:Tablet

哈哈,又看到了 Tablet,對,這個結構是貫穿 TsFile 和 IoTDB Session 的一個結構。表示一個設備,多個時間戳的多個測點的值,類似一個子表。這個子表不能有空值。

同樣,這種寫入接口速度快,可以達到每秒千萬點寫入速度。

讀數據

查詢的接口接收一批路徑,一個表達式(可以進行時間過濾和值過濾),其實就對應了 select  和 where 兩個子句。

在查詢時候,TsFile 的默認表結構是寬表,time, d1.m1, d1.m2, d2.m1, d2.m2。這個結構默認是把給定的查詢 Path 按 Time 做對齊,并且進行條件過濾的。

到此,相信大家對“Apache IoTDB的TsFile怎么使用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平度市| 甘孜县| 桐柏县| 普定县| 开江县| 福泉市| 阳信县| 凤城市| 疏附县| 郑州市| 平阳县| 酒泉市| 嵊州市| 日土县| 乌拉特后旗| 花垣县| 武清区| 响水县| 寿光市| 松桃| 晋州市| 济南市| 荔浦县| 雅安市| 始兴县| 湘潭县| 宁化县| 湖州市| 万全县| 静海县| 海兴县| 西充县| 泉州市| 望都县| 江油市| 正阳县| 滕州市| 白沙| 天台县| 玛纳斯县| 舟山市|