You need to enable JavaScript to run this app.
导航
定时 SQL 分析常见问题
最近更新时间:2024.11.08 10:53:41首次发布时间:2024.05.11 18:26:57

定时 SQL 分析与数据加工功能的区别?

定时 SQL 分析功能主要针对数据简化的场景,每次对大批量的日志数据进行统一的检索分析;而数据加工功能的数据处理能力更精细,可以对源日志主题中的每一条日志数据进行字段级别的数据分析与加工处理,适用于数据分发、数据清洗等多种场景。

定时 SQL 分析任务写入目标日志主题的数据如何溯源?

您可以通过以下方式查看日志主题对应的原始日志数据等信息。

  1. 创建定时 SQL 分析任务之后,日志服务会在每次写入数据时自动为每一条数据添加预留字段,例如 __process_id____task_id__等。您可以根据这些字段判断该数据对应的定时 SQL 分析任务 ID 与实例 ID。
  2. 在定时 SQL 任务列表中根据任务 ID 与实例 ID 找到该实例。 日志服务保留 7 天内的实例运行数据。
  3. 查看该数据对应的 SQL 时间窗口、检索分析语句、执行信息。 您可以根据这些信息判断源日志主题中的数据范围等详细信息。也可以通过服务日志的检索分析查看指定实例对应的详细运行信息,辅助数据溯源与问题处理。

为什么定时 SQL 分析任务长时间未开始调度?

定时 SQL 分析任务长时间未开始调度的可能原因如下:

  • 未满足调度周期:到达调度时间点后定时 SQL 分析任务才会产生调度实例。
  • 调度延迟:如果前面实例发生延迟,新产生的调度实例将在调度队列中等待。
  • 调度实例过多:并发的调度实例过多导致执行队列积压,调度实例长时间未被执行。
  • 未构建索引:实际已完成调用,但未对结果数据构建索引,导致调度产生的执行结果未展示。

为什么定时 SQL 任务的调度实例一直不执行?

日志服务在执行调度实例之前,会先检查实例是否满足执行条件,如果前一个实例因为检索时间范围内的数据尚未完成写入等原因而暂未运行,后一个实例已符合执行条件,则后一个实例会优先运行。

说明

实例符合执行条件后,日志服务会在后端调度资源、准备执行实例,该操作可能耗时 1 分钟以上,请耐心等待。

通常情况下,实例执行同时需要满足以下条件:

  • 已达到调度时间。如果任务未设置延时时间,后端服务会根据调度时间执行实例;如果设置了延时时间,则在达到调度时间后推迟一段时间后再执行实例。
  • 实例的 SQL 时间窗口对应的日志数据已完成写入。如果日志主题中已存在晚于检索时间范围内的日志数据,则判断检索时间范围内的数据已全部完成写入。例如检索时间范围为 [10:00~11:00),如果写入了一条 11:01 的日志数据,则判断检索时间范围内的数据已全部完成写入,可以开始运行实例。
  • 未达到最大并发数。一个任务中最多只有 1 个调度实例为运行中状态。