玩转 TsFile|00-专栏导读:AI-Native 的时序数据集
玩转 TsFile|00-专栏导读:AI-Native 的时序数据集
一份时序数据集可能需要交付给其他团队、加载到数据库提供查询服务,也可能用于 AI 分析与预测。在这些场景中,使用者都需要知道数据来自哪里、各字段代表什么,以及如何读取和核验结果。
这些需求涉及三类边界:时序数据与文件系统之间;时序数据与数据库之间;时序数据集与 AI 之间。缺少共同的数据载体与访问约定时,结构说明、导入配置和分析代码往往分散在不同位置,数据每次流转都需要重新核对其含义与处理方式。
本专栏围绕同一份时序数据集,介绍 TsFile 如何保存与交付数据,IoTDB 如何提供在线管理与查询,TsFile-Cli 与 Skill 如何支持脚本和 Agent 使用数据,以及 TimechoAI / Timer 如何承接时序预测。操作示例沿用机房温湿度数据 sensors.csv;应用场景则以飞机试飞数据说明同一批数据如何服务不同团队与任务。
AI-Native 的时序数据集
本专栏用 AI-Native 描述一种面向 AI 使用的数据集组织与访问方式:AI 可以借助明确的结构说明和工具接口,识别数据、选择操作并核验结果。这需要数据格式、访问工具与业务说明共同配合,具体体现在以下几个方面:
| 能力 | 具体表现 | 支持方式 |
|---|---|---|
| 可发现 | 识别数据采用的模型、包含的表或设备,以及文件的基本信息 | TsFile 元数据与文件检查工具 |
| 可理解 | 了解时间、对象身份、字段类型及其业务含义 | 文件中的结构定义(Schema)与配套业务说明 |
| 可操作 | 按对象、时间和字段读取、筛选或导出数据 | TsFile-Cli 提供明确的文件操作命令 |
| 可组合 | 将读取结果交给脚本、数据处理程序或自动化任务 | 标准数据输出、诊断信息和退出状态 |
| 可验证 | 检查执行状态,并通过回读比较数据范围与内容 | 结果回读与逻辑内容比较 |
| 可流转 | 在文件交付和数据库在线服务之间转换 | IoTDB 的加载与导出工具 |
| 可委托 | 由 Agent 根据自然语言任务选择工具并检查结果 | Skill 中的操作指引与工具接口 |
这些能力共同形成一条机器可发现、机器可操作、机器可验证的访问路径,让数据能够被脚本、Agent 和其他程序稳定使用。
高质量数据集还需要准确的观测记录、清楚的单位与来源,以及适合任务的时间范围和工况覆盖。明确的访问方式使数据便于使用,数据质量则影响分析与预测是否可靠。
TsFile
将观测记录与结构信息共同保存
TsFile 将时序观测记录与描述这些记录的结构信息保存在一起。以表模型为例,可以从以下几个方面理解:
1 | |
例如,这一行 CSV:
1 | |
只有在配合表头和外部约定时才容易解释。进入 table-model TsFile 后,接收方还可以从文件中读出:
1 | |
这体现了 TsFile 与普通文本文件的差异:TsFile 同时保存数据值与解释这些值所需的结构信息。数据、时间轴、实体身份和 Schema 可以作为一个整体被复制、检查和交付。
结构信息还需要与业务说明配合使用。本文约定:time 为 Unix 毫秒时间戳,temperature 使用摄氏度,humidity 使用相对湿度百分比。这些含义应结合由数值类型推断;采集条件、数据来源与处理过程也需要配套记录。
时序数据集生态中的统一数据载体
在时序数据生态中,TsFile 可以充当连接上下游的共同数据形态:
上游可以采用不同的采集与写入方式,下游也可以有不同的使用者。共同的文件格式使各环节能够复用数据中的对象标识与结构定义,减少重复描述和转换的工作。图中的端侧写入与云侧写入表示进入生态的不同路径;后续使用仍需结合数据模型与业务说明确认兼容性。
时序数据集与其他生态系统协同
时序数据集与文件系统
传统文件系统主要处理路径、文件名、字节、大小和修改时间;TsFile-Cli 负责解释 .tsfile 中的表、TAG、时间范围和数据类型。
TsFile 提供结构,TsFile-Cli 提供访问:
1 | |
由此,使用者可以通过命令行直接检查时序文件的结构和数据,并将结果交给现有脚本处理。TsFile 提供文件载体,TsFile-Cli 降低文件的访问门槛,使离线检查、筛选和数据交换能够在 IoTDB 未启动时完成。
时序数据集与时序数据库
当时序数据需要持续写入、多用户查询和统一管理时,需要将其纳入数据库实例。TsFile 提供 IoTDB 能够识别的共同格式,IoTDB 的加载与导出工具负责完成数据在文件形态和数据库管理形态之间的转换:
1 | |
这一连接由 TsFile 格式与 IoTDB 工具直接支撑。TsFile-Cli 的作用是加载前检查文件、导出后回读验证;数据库连接、加载执行与在线查询由 IoTDB 工具负责。
加载与导出过程中,文件的内部组织可能改变。核验往返结果时,应比较对象标识、时间、字段类型和数据记录,确认所选范围的逻辑内容是否一致。
时序数据集与 LLM / Agent
大语言模型(LLM)负责理解自然语言任务,Agent 借助工具读取数据并执行操作。面对陌生的二进制文件,Agent 需要先确认数据模型、对象与字段,再检查工具是否成功执行。TsFile-Cli 为这些操作提供命令行接口:
1 | |
Skill 是提供给 Agent 的操作指引,说明工具的用法、适用条件和检查步骤。例如,用户问“北京机房最高温度是多少”,Agent 可以先确认站点与温度字段,筛选北京机房的记录,再借助计算工具求最大值。回答时,还应说明读取的数据范围,并核对执行状态与输出是否完整。
TsFile-Cli 提供明确的文件访问能力,Skill 帮助 Agent 正确选择和使用这些能力,实际读取与计算结果则为回答提供依据。
时序数据集与 TimechoAI / Timer
时序数据集记录过去发生了什么,也为判断未来如何变化提供基础。企业持续积累的设备运行、生产经营或试飞观测数据,经过整理并补充业务背景后,可以反复用于趋势预测,逐步形成可复用的行业数据资产。
在这一过程中,数据集提供历史事实与业务上下文,Timer 从时间序列中学习变化规律并生成预测,TimechoAI 则将以 Timer 为核心的模型能力通过云服务开放给业务团队。TsFile 和 IoTDB 中积累的数据由此可以进入模型应用,支持设备运行趋势分析、能源需求预测等业务任务。
数据与模型的连接还会持续产生反馈:团队将预测与后续实测数据对照,检验模型在不同条件下的表现,并据此发现需要补充的数据和业务背景。高质量数据集支撑模型使用,实际使用又推动数据集不断完善,让数据积累持续服务于业务判断。
时序数据集的“一体多面”
前面的机房数据用于演示具体操作。下面以同一架飞机的多架次试飞数据,说明这些能力如何用于实际业务场景。每次试飞采集的高度、空速、姿态、发动机温度和振动等参数,经过解析与整理,形成持续积累的时序数据集。“一体”是这批可追溯的数据及其业务背景;“多面”是它在文件交付、在线协作、自动分析和时序预测中的不同用途。以下为应用场景示意。
TsFile:按试飞架次归档与交付的数据文件
一次试飞结束后,数据团队可以将整理后的观测记录写入一个或多个 TsFile,按飞机标识、试飞架次和测量对象组织数据,作为该架次的归档与交付材料。接收方可以直接读取文件中的时间序列、字段类型和可用统计信息,检查包含哪些参数、覆盖什么时段,可以直接依赖最初的数据导入脚本。
参数单位、时间基准、传感器标定信息、飞机配置和试飞科目等业务背景随配套说明共同交付。后续复盘某次机动或比较改装前后的表现时,团队可以重新读取对应文件,追溯到具体架次、观测记录及其处理过程。TsFile 让数据与结构信息共同保存,配套说明则帮助接收方正确理解这些记录。
IoTDB:围绕同一批试飞数据开展多专业协作
当多个架次的数据需要联合分析时,平台团队可以将兼容的 TsFile 加载到 IoTDB。飞行性能团队查询指定试飞科目前后的高度与空速,动力团队查看同一时段的发动机温度与转速,结构团队分析相应测点的振动变化。各团队围绕共同的飞机标识、架次和时间范围访问数据,分别选择自己关心的参数。
例如,复盘某次爬升阶段的温度变化时,可以同时查询该时段的飞行状态,并筛选配置、环境与工况可比的其他架次作对照。选定范围的明细数据还可以通过导出工具重新生成 TsFile,交给其他分析工具或作为复查材料。数据库由此为按架次归档的文件提供跨架次查询和统一管理能力;加载与导出后的数据范围和内容一致性仍需核对。
LLM / Agent 工具生态:从批量检查到可复查的试飞分析
每天的试飞数据归档后,脚本可以调用 TsFile-Cli 批量检查各架次文件的结构与数据规模,再将选定记录交给分析程序检查缺测、统计观测范围或计算阈值超限次数。检查报告同时列出未能完整读取的文件,便于数据团队继续处理。
在此基础上,工程师可以向 Agent 提出请求:“比较这架飞机两次试飞在指定爬升时段的发动机最高温度,并列出对应时刻的高度和空速。”Agent 在 Skill 指引下确认架次、参数、单位和时间范围,借助 CLI 或数据库查询工具取得记录并计算结果;不同采样频率的参数需要关联时,采用明确的时间匹配规则。
回答中列出所用文件或查询范围、筛选条件、峰值时刻及对应记录,工程师便可回到数据中复核。Skill 提供操作顺序与错误处理要求,确定性工具负责读取和计算,LLM 负责理解任务与组织说明。分析结论以实际执行结果为依据,跨架次差异的工程原因仍需结合试飞条件判断。
TimechoAI / Timer:让试飞数据积累服务于时序建模
随着试飞架次增加,团队可以从 TsFile 或 IoTDB 中选取工况相近的稳定飞行片段,经整理后交给 TimechoAI / Timer,根据发动机温度的历史变化预测后续短时趋势。此前用于交付和查询的数据,由此也能成为模型应用的数据基础。
后续实测数据可以用于检验预测表现。例如,某些飞行阶段的误差较大时,团队可以回查是否缺少相应工况的数据、参数说明是否充分,再据此完善后续采集与数据集建设。模型在试飞场景中的价值,需要通过这些实际对照逐步确认。
这四个方面围绕同一批试飞数据展开:TsFile 支持按架次保存与交付,IoTDB 支持跨架次查询和多专业协作,LLM / Agent 借助 CLI、Skills 和 Tools 完成检查与分析,TimechoAI / Timer 支持时序建模与预测验证。各环节可以采用不同的数据组织和访问方式,并通过飞机标识、架次、参数与时间范围保持来源可追溯,这就是时序数据集的“一体多面”。
时序数据集的流转
回到本专栏的 sensors 操作示例,文件与数据库之间的往返路径如下。脚本或 Agent 可以借助工具参与其中的检查与验证:
1 | |
在这一过程中,载体和物理布局可以发生变化。对于未改变明细范围的往返操作,可以通过时间、实体身份、列类别、数据类型和数据行的比较,验证逻辑内容是否保持一致。
合法的 TsFile 为接入 IoTDB 提供了格式基础。加载成功后,需要通过查询回读确认实际进入实例的数据。
专栏文章
| 阶段 | 数据集状态 | 新获得的价值 | 后续文章 |
|---|---|---|---|
| 文件化 | CSV → TsFile | 从外部约定变成自描述文件 | 玩转 TsFile|01-从 CSV 到 TsFile:自描述的时序数据集 |
| 可观察 | 二进制 → 可解释对象 | 模型、Schema、统计和数据行可见 | 玩转 TsFile|02-从元数据到数据行:认识一个 TsFile |
| 工具选择 | 文件、服务、程序 | 根据任务选择正确访问层 | 玩转 TsFile|03-什么时候用 TsFile,什么时候用 IoTDB? |
| 可组合 | TsFile → 标准数据流 | 接入 Shell、CI、ETL 和 Unix 工具 | 玩转 TsFile|04-让 TsFile 像 Unix 文件一样进入工具链 |
| 可服务 | TsFile → IoTDB 表 | 获得 SQL、并发访问和实例管理 | 玩转 TsFile|05-一条 LOAD 命令:把本地 TsFile 接入 IoTDB |
| 可导出 | IoTDB 表 → TsFile | 数据重新获得文件形态 | 玩转 TsFile|06-从 IoTDB 把表带回文件:导出 table-model TsFile |
| 可验证 | 原始 → 导出 | 核验往返前后的数据结构与记录是否一致 | 玩转 TsFile|07-LOAD 之后继续验证:用闭环脚本验证往返一致性 |
| 可委托 | 人的任务 → 工具调用 | Agent 按操作指引访问数据,并提供分析依据 | 玩转 TsFile|08-让 AI 少猜一步:用 Skill 可靠访问 TsFile |
| 可预测 | 历史观测 → 未来趋势 | 连接数据积累与模型使用,并用实测结果持续验证 | 玩转 TsFile|09-从时序数据集到预测:用 TimechoAI / Timer 连接数据与模型 |
小结
同一份时序数据集可以有多种用途:以 TsFile 保存和交付,由 IoTDB 提供在线管理与查询,通过 CLI 与 Skill 供脚本和 Agent 分析,并经整理后用于 TimechoAI / Timer 的时序预测。各环节共享可追溯的数据来源与结构信息,分别满足不同的使用需求。
本专栏所讨论的 AI-Native,关注的是如何让这些使用过程更加明确、可复查。清楚的数据结构、可靠的访问工具、充分的业务说明和持续的结果验证,共同帮助时序数据从一次性交付材料积累为可反复使用的数据资产。