开发者社区 > 云存储 > 正文

表格存储的时序模型,支持更新数据吗?

问题一:表格存储的时序模型,支持更新数据吗?

问题二:是不是如果timeInUs和timeseriesKey相同,就会自动覆盖fields?

展开
收起
青城山下庄文杰 2023-07-16 16:28:51 88 0
3 条回答
写回答
取消 提交回答
  • 问题一:是的,表格存储的时序模型支持更新数据。您可以使用相同的timeInUstimeseriesKey来更新已存在的行数据。通过执行更新操作,您可以修改特定时间戳(timeInUs)下的字段(fields)的值。

    问题二:是的,当timeInUstimeseriesKey相同时,会自动覆盖对应时间戳下的字段值(fields)。在时序模型中,timeInUs表示时间戳,timeseriesKey表示唯一的行键。如果您使用相同的timeInUstimeseriesKey插入新的数据,将自动更新该时间戳下的字段值。

    需要注意的是,进行数据更新时,仅会更新特定时间戳下的字段值,而不会影响其他时间戳下的字段。如果要更新多个时间戳下的字段值,您需要分别进行多次更新操作。

    2023-07-24 22:52:58
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    是的,阿里云表格存储(Table Store)的时序模型支持更新数据。

    在时序模型中,数据按照时间顺序存储,每条数据都有一个时间戳表示数据的产生时间。如果需要更新已有的数据,可以通过更新该数据对应的行和列来实现。具体来说,您可以使用 Table Store API 提供的 UpdateRow 接口,根据数据的主键和时间戳,更新该行的指定列。

    以 Java SDK 为例,您可以按照以下步骤进行操作:

    构造 PrimaryKey 和 UpdateRowRequest 对象。在构造 PrimaryKey 和 UpdateRowRequest 对象时,需要指定要更新的表名、主键、时间戳和要更新的列等参数。例如:
    java
    Copy
    import com.aliyun.openservices.ots.;
    import com.aliyun.openservices.ots.model.
    ;

    OTSClient otsClient = new OTSClient("", "", "", "");

    PrimaryKey primaryKey = PrimaryKeyBuilder.createPrimaryKeyBuilder()
    .addPrimaryKeyColumn("", PrimaryKeyValue.fromString(""))
    .build();

    RowUpdateChange rowUpdateChange = new RowUpdateChange("", primaryKey);
    rowUpdateChange.put("", ColumnValue.fromString(""));
    rowUpdateChange.setTimestamp();

    UpdateRowRequest updateRowRequest = new UpdateRowRequest(rowUpdateChange);
    其中, 和 分别为主键的名称和值, 和 分别为要更新的列名和列值, 为要更新的数据的时间戳。

    使用 UpdateRow 接口更新数据。通过调用 UpdateRow 接口,可以将更新操作提交到表格存储服务端。例如:
    java
    Copy
    UpdateRowResponse response = otsClient.updateRow(updateRowRequest);

    2023-07-23 20:18:38
    赞同 展开评论 打赏
  • 针对问题一的回答:支持,你们具体是什么场景

    针对问题二的回答:我拉个群沟通吧,此回答整理自钉群“表格存储技术交流群-2”

    2023-07-18 11:58:11
    赞同 展开评论 打赏

阿里云存储基于飞天盘古2.0分布式存储系统,产品多种多样,充分满足用户数据存储和迁移上云需求。

热门讨论

热门文章

相关电子书

更多
TableStore在社交类场景下的应用 立即下载
表格存储实时数据流Steam的技术揭秘和应用场景 立即下载
表格存储(TableStore) 立即下载