物联网平台数据服务提供离线数据存储功能,支持自定义分区表、事务表和时序表。自定义存储表可以作为数据服务中数据解析、SQL分析任务和数据可视化的数据源,可以作为数据解析、SQL分析任务的结果输出表,可以集成时序表数据到实时计算Flink,也可以直接存储静态导入的自定义字段数据等。本文介绍如何创建和管理自定义存储表,及其数据内容。
创建自定义存储表
登录物联网平台控制台。
在实例概览页面,找到对应的企业版实例,单击实例进入实例详情页面。
在左侧导航栏,选择数据服务 > 数据存储。
在数据存储页面单击离线存储页签。
在离线存储页签,单击自定义存储表。
在自定义存储表页签,单击新建自定义存储表。
在新建自定义存储表对话框中,完成以下设置。
参数
示例
是否必填
说明
表显示名
温度计日平均温度存储表
是
存储表的名称,不能以数字和下划线(_)开头,支持中文、英文字母、数字和下划线(_),不超过30个字符。
表标识符
daily_average_temperature
是
存储表的标识符,必须以英文字母开头,支持英文字母、数字和下划线(_),不超过30个字符。
表类型
分区表
是
可选:
分区表:适用于存储定时调度的数据,可设置每小时或者每天一个分区,对应的任务重跑后,会覆盖掉整个分区的数据。
重要如果您的自定义存储表每次调度产生数据超过3000万行时,为保障您的自定义存储表查询性能,建议选择分区表。
事务表:适用于自定义主键,数据按照主键粒度通过行级别更新和覆盖的表,类似于MySQL之类关系型数据库中的表。
重要该表最多支持存储3000万行的数据,超过3000万行的数据将无法写入。
时序表:适用于存储随着时间不断追加的数据,例如设备上报的数据,设备触发的事件等。
分区粒度
天
否
表类型为分区表时,开启自动分区,需配置分区粒度,可设置为小时或天。
重要此处设置需要和SQL分析洞察任务中调度周期一致。具体内容,请参见设置任务调度策略。
描述
温度计的平均温度
否
存储表的用途。
数据存储时长
更多
是
存储表数据保存的时间长度。
超过所设置的数据,系统将根据表中的时间字段,删除超过存储时长的数据。
可设置为1个月、2个月、3个月、6个月、1年、不过期或更多。
如果选择更多,则需输入时间单位和时间值。
时间单位
年
否
数据存储时长设置为更多时,数据存储的时间单位。可选:年、月、日。
时间值
10
否
数据存储时长设置为更多时,数据存储的时间值,需为正整数。最大可设置为:
102(年)。
2142(月)。
64260(日)。
数据回流至IoT孪生引擎
否
选中数据回流至IoT孪生引擎复选框后,选择关联的目标孪生空间。
仅支持选择当前实例下企业版或尊享版的IoT孪生引擎空间。
重要若仅有试用版IoT孪生引擎,该选项不可选(显示灰色),您需购买企业版或旗舰版IoT孪生引擎。具体内容,请参见购买企业版或旗舰版。
选择后,该表数据可作为IoT孪生空间中孪生实体的数据源。具体内容,请参见配置数据源。
新建表中强制包含以下列字段:
value:值为double类型。
iot_id:孪生实体中孪生节点的ID(iotId)。
property_id:孪生节点中属性的标识符(identifier)。
数据表创建完成后:
不支持取消选中数据回流至IoT孪生引擎复选框及所关联的孪生空间。
不支持在该表中新增字段。
单击确认,完成创建自定义存储表。
创建自定义存储表后,您可以使用该表存储数据解析的数据。
更多信息,请参见数据解析概述。
管理自定义存储表
查看表信息
在自定义存储表页签下的存储列表中,可查看存储表的基本信息:表显示名、表类型、分区粒度、表标识符、存储量和描述。
找到已创建的存储表,单击右侧操作列的查看,可查看详细基本信息。
系统数据源:数据来源为平台系统表。
产品属性数据源、产品事件数据源:数据来源为时序表或快照表。
项目 | 示例 | 说明 |
表标识符 | ${system.device_group_relation} | 存储表的标识符。 |
表显示名 | 设备分组关系表 | 存储表的中文名称。 |
字段数 | 8 | 存储表表头项目的数量。 |
数据来源 | 系统数据源 | 数据的来源,包括: |
存储时长 | 不过期 | 存储表数据不过期。 |
是否回流至IoT孪生引擎 | 是 | 存储表数据回流至IoT孪生引擎中指定的孪生空间。 |
回流的孪生空间 | 园区孪生 | |
是否分区 | 是 | 开启存储表数据自动分区,分区粒度为天。 |
分区粒度 | 天 | |
描述 | 此表描述了设备和分组的关系 | 存储表的用途。 |
Flink任务 | 时序表显示该配置项,默认关闭。 支持开启Flink任务,将时序表数据集成到阿里云实时计算Flink中计算和分析。具体操作,请参见下文管理时序表数据集成(Flink)。 |
定义表结构
单个存储表中最多包含100个字段。
在自定义存储表页签下的存储列表中,找到已创建的存储表,单击右侧操作列的查看。
在存储表详情页面,单击表结构页签。
表结构展示存储表的分区详情(是否分区、分区键名称、分区键类型、分区键粒度)和表头项目的详细信息(字段名称、字段类型、是否主键等)。
分区表:默认包含字段partition_key(系统分配的分区键,不可更改)和ts(系统分配的时间戳列,不可更改)。
事务表:默认包含字段ts(系统分配的时间戳列,不可更改)。
时序表:默认表结构为空。
单击新增字段,配置表头的字段,单击应用。
字段参数说明如下。
重复上一步,为存储表添加多个字段。
单击保存,在弹出的对话框中,单击确认。
参数 | 说明 |
字段名 | 支持小写字母、数字和下划线(_),不能以数字和下划线(_)开头,长度不能超过32个字符。 |
字段显示名 | 支持中文字符、英文字母、数字和下划线(_),不能以数字和下划线(_)开头,长度不能超过64个字符。 |
字段类型 | 支持选择VARCHAR、BIGINT、BOOLEAN、TIMESTAMP、DOUBLE。 |
是否主键 | 设置字段是否为主键。 |
备注 | 描述字段用途。 |
可选操作
在自定义存储表页签下的存储列表中,找到已创建的存储表,单击右侧操作列的功能按钮。
功能 | 说明 |
编辑 | 修改自定义存储表的基本信息。 重要 自定义存储表被数据解析或SQL分析任务引用后,只能修改表的数据存储时长,不能进行其他编辑操作。 |
删除 | 删除自定义存储表。 |
开启归档 | 开启自动分区的存储表数据,支持数据归档。具体操作,请参见管理离线数据归档。 |
数据预览或 | 自定义存储表应用于数据解析或SQL分析任务后,您可以预览最新的20条数据。 |
跳转到数据接入的本地上传页签,导入本地数据源。具体操作,请参见上传本地数据源。 说明 如果导入数据到自定存储表的时序表,必须包含时间戳字段ts的值。 | |
您可导出指定时间范围内的数据。操作指导,请参见导出存储表。 重要
| |
通过复制当前自定义存储表,快速构建新表。 重要 新表的表类型与当前自定义存储表相同且不能更改,其他配置可重新自定义。 新表会同步复制当前自定义存储表的表结构,需要执行保存操作,完成新表初始化。 | |
|
管理时序表数据集成(Flink)
自定义存储表中仅时序表数据支持开启Flink任务。
开启Flink任务
如果需要将自定义存储表存储的时序数据,集成到实时计算Flink中计算和分析,帮助您实时分析和诊断设备的运行状况,实时检测运行故障,实时预测设备制品良率等,可以开启时序表的Flink任务。
数据服务中实时数据集成流出会消耗数据处理单元(CU),详细说明,请参见企业版实例(包年包月)。功能使用的详细说明,请参见实时数据集成(Flink版)。
在自定义存储表页签下的存储列表中,找到已创建的时序表,单击右侧操作列的查看。
在存储表详情页面,单击Flink任务开关的关闭图标。
在弹出的对话框中,单击确认开启。
关闭Flink任务
如果业务需求无需使用实时计算Flink进行数据流计算和分析,可执行以下操作关闭Flink任务。
在存储表详情页面,单击Flink任务开关的打开图标。
单击确认关闭。
后续步骤
创建自定义存储表后,默认表中无数据,可将其作为一个数据解析或SQL分析任务的输出对象,以存储所需数据。具体内容,请参见数据解析和SQL分析。
自定义存储表输出数据后:
可作为多个SQL分析任务的查询对象。具体内容,请参见SQL分析。
可作为IoT孪生引擎中孪生实体图的数据源。具体内容,请参见IoT孪生引擎的数据源。
可以集成到实时计算Flink中计算和分析。具体内容,请参见实时数据集成(Flink版)。