日志服务支持加工历史数据,本文介绍加工历史数据的操作步骤及相关问题。

前提条件

创建数据加工任务

  1. 登录日志服务控制台
  2. 进入数据加工页面。
    1. 在Project列表区域,单击目标Project。
    2. 日志存储 > 日志库页签中,单击目标Logstore。
    3. 在查询和分析页面,单击数据加工
  3. 在页面右上角,选择数据的时间范围。
    选择时间范围后,请确认原始日志页签中存在日志。
  4. 在编辑框中,输入数据加工语句。
    加工语句的语法请参见数据加工语法
  5. 预览数据。
    1. 单击快速
      日志服务支持快速预览和高级预览。更多信息,请参见预览调试概述
    2. 单击预览数据

      查看预览结果。

      • 如果加工语句错误或者权限配置错误,导致数据加工失败,请根据页面提示处理。
      • 如果确认数据加工结果无误,请执行步骤6
  6. 创建数据加工任务。
    具体操作,请参见创建数据加工任务。其中,您需要根据您要加工的数据时间,设置加工范围加工历史数据
    选项说明
    所有从Logstore接收到第一条数据的时间点开始数据加工任务,直到加工任务被手动停止。
    某时间开始指定数据加工任务的开始时间,从该时间点开始加工,直到加工任务被手动停止。
    特定时间范围指定数据加工任务的起止时间,从指定的开始时间点开始加工,到指定的结束时间后加工任务自动停止。

查看加工结果

您可以在目标Logstore中查看对应的加工结果数据。如果目标Logstore无数据,您可以参考以下方案进行解决。

扩大数据查询时间范围

如果您在数据加工语句中未对__time__字段进行设置,那么某条数据在目标Logstore的时间和在源Logstore中的时间是一致的,而打开目标Logstore查询数据时,默认的查询时间范围为最近15分钟,您可能查询不到历史数据的加工结果。此时,您可以扩大查询的时间范围。

例如历史数据的时间为2023-04-11 10:00:00,加工时间为2023-04-12 09:00:00,写入目标Logstore后,数据的时间仍为2023-04-11 10:00:00,因此您在2023-04-12 09:01:00打开目标Logstore时,默认的查询时间为15分(相对),将查询不到该条数据,您可以将查询时间范围修改为1天(相对),再进行查询。扩大查询时间范围

创建索引

如果您打开目标Logstore时,提示如下错误,表示您未创建索引。索引是一种倒排的数据存储结构,由关键词和指向实际数据的逻辑指针组成,用于快速根据关键词定位到具体数据行,类似于数据的目录。您只有创建索引后,才能看到加工结果数据。具体操作,请参见创建索引未创建索引报错

重建索引

创建索引只对新写入目标Logstore的数据生效。如果您是在创建数据加工任务后才在目标Logstore中创建索引,那么默认情况下,您无法查询在创建索引前已通过数据加工写入的数据。此时,您可以对已写入目标Logstore的数据重建索引。具体操作,请参见重建索引

提高历史数据加工效率

当您的历史数据量较大,且同时需要对它们进行加工时,由于受限于单个数据加工任务的处理效率,往往很难满足实时性需求,可能会出现加工消费延迟大且不降低的现象。此时,您可以为历史数据创建一个或多个数据加工任务,另外对实时写入的数据,创建一个单独的加工任务。

例如您在2023-01-16要创建一个数据加工任务,加工从2023-01-01 00:00:00开始写入源Logstore的所有数据,则您可以将2023-01-01 00:00:00~2023-01-15 23:59:59期间的历史数据分成三份,并分别创建一个加工任务,然后为2023-01-16 00:00:00后实时写入的数据也创建一个加工任务,如下图所示。提升加工效率

任务一

创建加工任务一,加工2023-01-01 00:00:00~2023-01-05 23:59:59期间的历史数据。

加工历史数据

任务二

创建加工任务二,加工2023-01-06 00:00:00~2023-01-10 23:59:59期间的历史数据。

加工历史数据

任务三

创建加工任务三,加工2023-01-11 00:00:00~2023-01-15 23:59:59期间的历史数据。

加工历史数据

任务四

创建加工任务四,加工2023-01-16 00:00:00后实时写入的数据。

加工历史数据