带你读《Elastic Stack 实战手册》之54:——3.5.13.Transform (3)

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 带你读《Elastic Stack 实战手册》之54:——3.5.13.Transform (3)

《Elastic Stack 实战手册》——三、产品能力——3.5 进阶篇——3.5.13.Transform (2) https://developer.aliyun.com/article/1228176

任务维护

 

任务监控

 

任务在持续执行的过程中监控任务状态是必不可少的,我们可以使用如下 GET 请求获取任务状态。


GET _transform/<transform_id>/_stats?from=0&size=100   #1

其中  可以填1个或多个(逗号分割)任务 ID,也可以使用*模糊查找,同样可以不填或者使用 _all搜索全部任务。请求可以使用fromsize实现分页,from默认是0size默认是100。请求非返回如下:


{
  "count" : 1,     # 结果总数
  "transforms" : [
    {
      "id" : "ecommerce-customer-transform",        # 1
      "state" : "started",                          # 2
      "node" : {                                    # 3
        "id" : "cpTIGMsVQ8Gqwqlxxxxxxx",
        "name" : "my.home",
        "ephemeral_id" : "5-L21nFsQxxxxxxxxxx-xx",
        "transport_address" : "127.0.0.1:9300",
        "attributes" : { }
      },
      "stats" : {                         # 4
        "pages_processed" : 78,
        "documents_processed" : 6027,
        "documents_indexed" : 68,      
        "trigger_count" : 168,
        "index_time_in_ms" : 412,
        "index_total" : 20,
        "index_failures" : 0,
          "search_time_in_ms" : 353,
        "search_total" : 78,
        "search_failures" : 0,
        "processing_time_in_ms" : 8,
        "processing_total" : 78,
        "exponential_avg_checkpoint_duration_ms" : 97.30637923893185,
        "exponential_avg_documents_indexed" : 2.2064915040974062,
        "exponential_avg_documents_processed" : 179.89419945785045
      },
      "checkpointing" : {       #5
        "last" : {
          "checkpoint" : 20,
          "timestamp_millis" : 1585344558220,
          "time_upper_bound_millis" : 1585344498220
        },                  
        "changes_last_detected_at" : 1585344558219  
      }
    }
  ]
}

响应结果首先会用count字段显示匹配的任务总数,然后用transforms数组枚举各个任务,每个任务由以下信息构成:

 

1、id(#1)任务 ID

2、state(#2)任务状态枚举值,可能有以下几种:

l aborting: 异常中止

l failed: 失败,有关失败的更多信息,请检查reason字段。

l indexing: 任务执行中,正在处理数据并创建新文档。

l started: 任务正常运行,但未处理数据。

l stopped: 任务已停止,一次性任务执行完成则会进入该状态

3、stopping: 任务已暂停,一般是周期任务被手动停止

l node(#3):开启transform的节点列表,每个节点有以下信息:

l id:节点的唯一标识符

l ephemeral_id:节点临时 ID

l attributes:节点的属性列表

l name:节点名称

l transport_address:接受传输 HTTP 连接的主机和端口

4、stats(#4):提供有 Transform 任务统计信息的对象,主要有以下信息:

l documents_indexed:(long型) 已写入目标索引的文档数。

l documents_processed:(long型) 源索引已处理的文档数。

l exponential_avg_checkpoint_duration_ms:(double型) 每次任务平均耗时,以毫秒为单位。

l exponential_avg_documents_indexed:(double型) 每次任务平均写入新索引的文档数。

l exponential_avg_documents_processed:(double型) 每次任务平均处理的源索引的文档数。

l index_failures:(long型)插入文档失败的次数。

l index_time_in_ms:(long型)插入文档花费的时间,以毫秒为单位。

l index_total:(long型) 创建的索引数。

l pages_processed:(long型) 搜索或批量插入操作的次数。文档是批量处理的,而不是单独处理的。

l processing_time_in_ms:(long型)处理结果所花费的时间,以毫秒为单位。

l processing_total:(long型)处理操作的数量。

l search_failures:(long型)搜索失败的次数。

l search_time_in_ms:(long型)搜索所花费的时间,以毫秒为单位。

l search_total:(long型)在源索引上执行搜索操作的数。

l trigger_count:(long型)调度程序触发任务的次数。与frequency属性中指定的时间间隔检有关。


5、checkpointing(#5),任务检查点的信息,每次任务执行完且源索引有数据变更时产生检查点。

l changes_last_detected_at:(日期)上次在源索引中检测到更改的时间戳。

l last:(对象),上一个检查点的信息

checkpoint:(整数)检查点的序列号。

time_upper_bound_millis:(date) 使用基于时间的同步时,此时间戳表示检查点中包含的数据的上限。

timestamp_millis:(日期)检查点创建的时间戳。

l next:(对象)包含当前正在进行的下一个检查点的统计信息。此对象仅在转换state为时出现indexing。具体内容比last对象多一个checkpoint_progress属性,包含有关检查点进度的统计信息。该属性仅出现于一次性任务或连续任务的第一个检查点。它含有了total_docsdocs_remainingpercent_completedocs_processed,和docs_indexed

l operations_behind:(整数)已在源索引上发生但尚未应用于目标索引的操作数。该值较高表示任务处理未能跟上。一次性任务一般此值较高。

6、reason,如果任务的状态为failed,则此属性提供有关失败原因的详细信息。

 

任务暂停

 

由于各种原因,有将持续执行的 Transforms 任务临时暂停的需求,请求如下

 

POST _transform//_stop?force=true&timeout=30s&wait_for_completion=true&wait_for_checkpoint=true

 

其中请求路径中  为任务 id,可一次配置多值或用_all暂停全部。请求还接受以下4个请求参数:

 

1、force,可选,布尔值,设置为true停止失败的任务或强制停止未响应初始停止请求的任务。


2、wait_for_completion,可选,布尔值,如果设置为true,则API在得到响应前会阻塞,直到任务完全停止。如false,则 API 立即返回,索引器将在后台异步停止。默认为false


 3、timeout,可选,时间值,如果wait_for_completion=true,API 会在(最多)指定的持续时间内阻塞,同时等待任务停止。如果超过timeout时间,API 将抛出超时异常,但停止请求仍在进行知道任务变为STOPPED状态。超时只是意味着 API 调用本身在等待状态更改时超时。默认为30s


4、wait_for_checkpoint,可选,布尔值,如果设置为true,则在当前正在执行的任务完成之前不会完全停止。如果设置为false,任务会尽快停止。默认为false


《Elastic Stack 实战手册》——三、产品能力——3.5 进阶篇——3.5.13.Transform (4) https://developer.aliyun.com/article/1228170

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
SQL 安全 API
带你读《Elastic Stack 实战手册》之54:——3.5.13.Transform (2)
带你读《Elastic Stack 实战手册》之54:——3.5.13.Transform (2)
144 0
|
机器学习/深度学习 API 索引
带你读《Elastic Stack 实战手册》之54:——3.5.13.Transform (4)
带你读《Elastic Stack 实战手册》之54:——3.5.13.Transform (4)
129 0
|
存储 监控 数据挖掘
带你读《Elastic Stack 实战手册》之54:——3.5.13.Transform (1)
带你读《Elastic Stack 实战手册》之54:——3.5.13.Transform (1)
161 0
|
SQL 存储 JSON
带你读《Elastic Stack 实战手册》之49:——3.5.8.Canvas
带你读《Elastic Stack 实战手册》之49:——3.5.8.Canvas
100 0
|
存储 资源调度 NoSQL
带你读《Elastic Stack 实战手册》之45:——3.5.4.Graph (上)
带你读《Elastic Stack 实战手册》之45:——3.5.4.Graph (上)
139 0
|
数据可视化 NoSQL API
带你读《Elastic Stack 实战手册》之45:——3.5.4.Graph (下)
带你读《Elastic Stack 实战手册》之45:——3.5.4.Graph (下)
158 0
|
存储 SQL NoSQL
带你读《Elastic Stack 实战手册》之37:——3.4.2.18.Denormalizing / flattening data
带你读《Elastic Stack 实战手册》之37:——3.4.2.18.Denormalizing / flattening data
114 0
|
存储 运维 监控
带你读《Elastic Stack 实战手册》之2:——二、导读(下)
带你读《Elastic Stack 实战手册》之2:——二、导读(下)
272 0
|
SQL 自然语言处理 监控
带你读《Elastic Stack 实战手册》之2:——二、导读(上)
带你读《Elastic Stack 实战手册》之2:——二、导读(上)
347 0
|
自然语言处理 索引
带你读《Elastic Stack 实战手册》之33:——3.4.2.17.2.Schemaless(上)
带你读《Elastic Stack 实战手册》之33:——3.4.2.17.2.Schemaless(上)
119 0