创建和管理自定义存储表

更新时间: 2023-12-08 16:16:56

物联网平台数据服务提供离线数据存储功能,支持自定义分区表、事务表和时序表。自定义存储表可以作为数据服务中数据解析、SQL分析任务和数据可视化的数据源,可以作为数据解析、SQL分析任务的结果输出表,可以集成时序表数据到实时计算Flink,也可以直接存储静态导入的自定义字段数据等。本文介绍如何创建和管理自定义存储表,及其数据内容。

创建自定义存储表

  1. 登录物联网平台控制台

  2. 实例概览页面,找到对应的企业版实例,单击实例进入实例详情页面。

  3. 在左侧导航栏,选择数据服务 > 数据存储

  4. 数据存储页面单击离线存储页签。

  5. 离线存储页签,单击自定义存储表

    自定义存储表

  6. 自定义存储表页签,单击新建自定义存储表

  7. 新建自定义存储表对话框中,完成以下设置。

    参数

    示例

    是否必填

    说明

    表显示名

    温度计日平均温度存储表

    存储表的名称,不能以数字和下划线(_)开头,支持中文、英文字母、数字和下划线(_),不超过30个字符。

    表标识符

    daily_average_temperature

    存储表的标识符,必须以英文字母开头,支持英文字母、数字和下划线(_),不超过30个字符。

    表类型

    分区表

    可选:

    • 分区表:适用于存储定时调度的数据,可设置每小时或者每天一个分区,对应的任务重跑后,会覆盖掉整个分区的数据。

      重要

      如果您的自定义存储表每次调度产生数据超过3000万行时,为保障您的自定义存储表查询性能,建议选择分区表。

    • 事务表:适用于自定义主键,数据按照主键粒度通过行级别更新和覆盖的表,类似于MySQL之类关系型数据库中的表。

      重要

      该表最多支持存储3000万行的数据,超过3000万行的数据将无法写入。

    • 时序表:适用于存储随着时间不断追加的数据,例如设备上报的数据,设备触发的事件等。

    分区粒度

    表类型分区表时,开启自动分区,需配置分区粒度,可设置为小时

    重要

    此处设置需要和SQL分析洞察任务中调度周期一致。具体内容,请参见设置任务调度策略

    描述

    温度计的平均温度

    存储表的用途。

    数据存储时长

    更多

    存储表数据保存的时间长度。

    超过所设置的数据,系统将根据表中的时间字段,删除超过存储时长的数据。

    可设置为1个月2个月3个月6个月1年不过期更多

    如果选择更多,则需输入时间单位时间值

    时间单位

    数据存储时长设置为更多时,数据存储的时间单位。可选:年、月、日。

    时间值

    10

    数据存储时长设置为更多时,数据存储的时间值,需为正整数。最大可设置为:

    • 102(年)。

    • 2142(月)。

    • 64260(日)。

    数据回流至IoT孪生引擎

    image

    选中数据回流至IoT孪生引擎复选框后,选择关联的目标孪生空间。

    仅支持选择当前实例下企业版或尊享版的IoT孪生引擎空间。

    重要

    若仅有试用版IoT孪生引擎,该选项不可选(显示灰色),您需购买企业版或旗舰版IoT孪生引擎。具体内容,请参见购买企业版或旗舰版

    选择后,该表数据可作为IoT孪生空间中孪生实体的数据源。具体内容,请参见配置数据源

    新建表中强制包含以下列字段:

    • value:值为double类型。

    • iot_id:孪生实体中孪生节点的ID(iotId)。

    • property_id:孪生节点中属性的标识符(identifier)。

    数据表创建完成后:

    • 不支持取消选中数据回流至IoT孪生引擎复选框及所关联的孪生空间。

    • 不支持在该表中新增字段。

  8. 单击确认,完成创建自定义存储表。

    创建自定义存储表后,您可以使用该表存储数据解析的数据。

    更多信息,请参见数据解析概述

管理自定义存储表

重要

自定义存储表可应用于数据服务的多个功能,需注意以下几点:

  • SQL分析任务的结果存储到自定义存储表时,自定义存储表的表结构字段已添加并保存。

  • 无数据输出的自定义存储表,仅可作为一个数据解析或SQL分析任务的输出对象。

  • 已有数据的自定义存储表,可同时作为多个SQL分析任务的查询对象,以及数据API和可视化报表的数据来源。

更多信息,请参见数据解析SQL分析数据可视化自定义服务API

查看表信息

  1. 自定义存储表页签下的存储列表中,可查看存储表的基本信息:表显示名、表类型、分区粒度、表标识符、存储量和描述。

  2. 找到已创建的存储表,单击右侧操作列的查看,可查看详细基本信息。

    项目

    示例

    说明

    表标识符

    ${system.device_group_relation}

    存储表的标识符。

    表显示名

    设备分组关系表

    存储表的中文名称。

    字段数

    8

    存储表表头项目的数量。

    数据来源

    系统数据源

    数据的来源,包括:

    • 系统数据源:数据来源为平台系统表。

    • 产品属性数据源、产品事件数据源:数据来源为时序表或快照表。

    存储时长

    不过期

    存储表数据不过期。

    是否回流至IoT孪生引擎

    存储表数据回流至IoT孪生引擎中指定的孪生空间。

    回流的孪生空间

    园区孪生

    是否分区

    开启存储表数据自动分区,分区粒度为天。

    分区粒度

    描述

    此表描述了设备和分组的关系

    存储表的用途。

    Flink任务

    image.png

    时序表显示该配置项,默认关闭。

    支持开启Flink任务,将时序表数据集成到阿里云实时计算Flink中计算和分析。具体操作,请参见下文管理时序表数据集成(Flink)

定义表结构

重要

单个存储表中最多包含100个字段。

  1. 自定义存储表页签下的存储列表中,找到已创建的存储表,单击右侧操作列的查看

  2. 存储表详情页面,单击表结构页签。

    表结构展示存储表的分区详情(是否分区、分区键名称、分区键类型、分区键粒度)和表头项目的详细信息(字段名称、字段类型、是否主键等)。

    • 分区表:默认包含字段partition_key(系统分配的分区键,不可更改)和ts(系统分配的时间戳列,不可更改)。

    • 事务表:默认包含字段ts(系统分配的时间戳列,不可更改)。

    • 时序表:默认表结构为空。

  3. 单击新增字段,配置表头的字段,单击应用

    字段参数说明如下。

  4. 参数

    说明

    字段名

    支持小写字母、数字和下划线(_),不能以数字和下划线(_)开头,长度不能超过32个字符。

    字段显示名

    支持中文字符、英文字母、数字和下划线(_),不能以数字和下划线(_)开头,长度不能超过64个字符。

    字段类型

    支持选择VARCHARBIGINTBOOLEANTIMESTAMPDOUBLE

    是否主键

    设置字段是否为主键。

    备注

    描述字段用途。

  5. 重复上一步,为存储表添加多个字段。

  6. 单击保存,在弹出的对话框中,单击确认

    image.png

可选操作

自定义存储表页签下的存储列表中,找到已创建的存储表,单击右侧操作列的功能按钮。

功能

说明

编辑

修改自定义存储表的基本信息。

重要

自定义存储表被数据解析或SQL分析任务引用后,只能修改表的数据存储时长,不能进行其他编辑操作。

删除

删除自定义存储表。

重要

当前数据表处于使用中时,您无法删除该表,需停止相关的数据解析或SQL分析任务后,才可删除。具体操作,请参见启动数据解析任务配置SQL分析任务

开启归档

开启自动分区的存储表数据,支持数据归档。具体操作,请参见管理离线数据归档

数据预览更多 > 数据预览

自定义存储表应用于数据解析或SQL分析任务后,您可以预览最新的20条数据。

更多 > 静态导入

跳转到数据接入本地上传页签,导入本地数据源。具体操作,请参见上传本地数据源

说明

如果导入数据到自定存储表的时序表,必须包含时间戳字段ts的值。

更多 > 导出

您可导出指定时间范围内的数据。操作指导,请参见导出存储表

重要
  • 存储表初始化成功后,才可导出数据。

  • 自定义存储表的时序表中导出数据的时间范围,支持精确到秒。

  • 同一账号下,同一时间只能创建一个进行中的导出任务,每天限制生成三个导出任务,每个任务支持下载三次。

更多 > 复制

通过复制当前自定义存储表,快速构建新表。

    重要

    新表的表类型与当前自定义存储表相同且不能更改,其他配置可重新自定义。

    新表会同步复制当前自定义存储表的表结构,需要执行保存操作,完成新表初始化。

更多 > 数据清理

  • 批量清理只有分区表可以选择分区清理,必须选择清理的分区范围。事务表时序表,不能选择分区清理

  • 主键清理:在文本框输入所有需要匹配的主键值,单击确认删除。如果是时序表,不支持删除单条主键。

管理时序表数据集成(Flink

重要

自定义存储表中仅时序表数据支持开启Flink任务。

开启Flink任务

如果需要将自定义存储表存储的时序数据,集成到实时计算Flink中计算和分析,帮助您实时分析和诊断设备的运行状况,实时检测运行故障,实时预测设备制品良率等,可以开启时序表的Flink任务。

说明

数据服务中实时数据集成流出会消耗数据处理单元(CU),详细说明,请参见企业版实例(包年包月)。功能使用的详细说明,请参见实时数据集成(Flink版)

  1. 自定义存储表页签下的存储列表中,找到已创建的时序表,单击右侧操作列的查看

  2. 在存储表详情页面,单击Flink任务开关的关闭image.png图标。

    image.png

  3. 在弹出的对话框中,单击确认开启

    image.png

关闭Flink任务

如果业务需求无需使用实时计算Flink进行数据流计算和分析,可执行以下操作关闭Flink任务。

  1. 在存储表详情页面,单击Flink任务开关的打开image.png图标。

  2. 单击确认关闭

后续步骤

  1. 创建自定义存储表后,默认表中无数据,可将其作为一个数据解析或SQL分析任务的输出对象,以存储所需数据。具体内容,请参见数据解析SQL分析

  2. 自定义存储表输出数据后:

阿里云首页 阿里云物联网平台 相关技术圈