Apache IoTDB 系列教程-7:时序数据文件格式 TsFile

TsFile是一种专为时序数据设计的文件格式,适用于边缘设备数据存储与压缩。本文介绍其数据模型、元数据注册、写入与读取过程,以及如何通过设备模板简化管理。

在大数据生态中有很多文件格式,像 Parquet,ORC,Avro 等等,都是针对嵌套数据设计的文件格式。这些文件格式普遍具有预先定义的schema,数据以行式写入,按属性组织,列式存储。但是这些文件格式一般不能很好地满足时间序列数据的管理需求。比如,在一些时间序列数据的场景中,一般各个序列是独立写入的,时间戳并不对齐;查询结果也需要按照时间戳排序。TsFile(Time series File)就是我们为时序数据场景设计的文件格式。今天主要介绍用法,主要针对 0.10 版本。

正文 2587 字,预计阅读时间 7 分钟。

使用场景

文件格式由于比较轻量级,适合在边缘端当做一个数据压缩包使用,这个边缘端可以是设备内部,也可以是工控机、工厂层级。设备上生成的数据可以随时持久化到文件中进行存储。这里说的设备可能一台风机,上边会有多个测点,比如风速传感器、温度传感器等。每个传感器采集的数据就是一个时间序列。联想的IoT平台自2017年就开始使用TsFile存储时序数据。

因此,TsFile 的目标场景是管理一个或多个设备的时序数据。

设备-测点模型

设备(DeviceId):类似表的概念。

测点(MeasurementId):一个设备可以有多个测点,类似表中的列的概念。

时间序列路径(Path):可以通过设备和测点定义 Path(设备Id,测点Id)。

测点描述信息(MeasurementSchema):每个时间序列都对应一个描述信息,包括数据类型、编码方式、压缩方式。

每个时间序列都有两列:时间列、值列。

最近喜欢画图,来画一张,基本就是这样的,不同设备可以有不同的测点。

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值