管道监控三角洲生活表

预览

这个特性是在公共预览

本文描述了如何使用内置功能在三角洲住表为监控和可观察性管道,包括数据沿袭,更新历史和数据质量报告。

您可以手动审查大部分监控数据通过管道详细信息界面。一些任务更容易完成通过查询事件日志的元数据。看到δ生活表事件日志是什么?

管道的细节可以在UI什么?

管道图显示尽快更新管道已成功启动。在你的管道箭头表示数据之间的依赖关系。默认情况下,管道的细节页面显示最近更新的表,但是你可以从一个drowndown菜单选择年长的更新。

细节显示包括管道ID、源库,计算成本,产品版本、砖的运行时版本,和通道配置的管道。

运行用户是管道所有者和管道更新运行与该用户的权限。改变运行作为用户,请点击权限和改变管道所有者。

你怎么能查看数据集详细信息吗?

点击一个数据集的管道图显示数据集的详细信息。细节包括数据集模式,数据质量度量,并链接回源代码定义数据集。

视图更新历史

查看管道的历史和状态更新,单击更新历史记录下拉菜单。

查看图,细节,和事件更新,选择下拉菜单的更新。返回最新的更新,点击显示最新更新

得到管道的通知事件

为管道等事件接收实时通知成功完成管道更新或管道更新的失败,添加为管道添加邮件通知事件当您创建或编辑一个管道。

δ生活表事件日志是什么?

三角洲生活事件日志表包含了所有相关的信息管道,包括审计日志,数据质量检查,管道的进步,和数据血统。您可以使用事件日志跟踪、了解和监控您的数据管道。

您可以查看事件日志条目在三角洲地区的生活表的用户界面,三角洲生活表API,或者直接查询事件日志。本文主要关注直接查询事件日志。

事件日志模式

下表描述了事件日志模式。这些字段包含需要执行一些查询解析JSON数据,如细节字段。砖支持:操作符来解析JSON字段。看到(结肠)算子

描述

id

事件日志记录的惟一标识符。

序列

一个JSON文档,其中包含元数据来识别和秩序的事件。

起源

一个JSON文档,其中包含元数据的起源事件,例如,云提供商,地区,user_id或pipeline_id。

时间戳

时间事件被记录。

消息

一个人类可读的描述事件的消息。

水平

事件类型,例如,信息、警告、错误,或指标。

错误

如果一个错误发生,细节描述错误。

细节

一个JSON文档,其中包含结构化事件的细节。这个主要用于分析事件。

event_type

事件类型。

maturity_level

稳定的事件模式。可能的值是:

  • 稳定的:模式是稳定的,不会改变。

  • :模式是稳定的,不会改变。可能的价值如果记录被创建之前maturity_level字段添加(2022.37版本)。

  • 不断发展的:模式不稳定,可能会改变。

  • 弃用:模式是弃用和三角洲生活表运行时可能在任何时间停止生产这个事件。

查询事件日志

事件日志的位置和接口查询事件日志取决于你的管道配置为使用蜂巢metastore或统一目录。

蜂巢metastore

如果你的管道发布蜂巢metastore表事件日志存储/系统/事件存储的位置。例如,如果您已经配置了管道存储设置为/用户/用户名/数据事件日志存储在/用户/用户名/数据/系统/事件在DBFS路径。

如果你没有配置存储设置,默认的事件日志位置/管道/ < pipeline-id > /系统/事件在DBFS。例如,如果你的ID管道91年de5e48 - 35 - ed - 11 - ec - 8 d3d - 0242 ac130003,存储位置/管道/ 91 de5e48 - 35 - ed - 11 - ec - 8 d3d - 0242 ac130003 /系统/事件

你可以创建一个视图来简化查询事件日志。下面的示例创建一个临时的视图event_log_raw。这个视图中使用本文中的示例事件日志查询包括:

创建取代临时视图event_log_raw作为选择*δ' <事件- - - - - -日志- - - - - -路径> ';

取代< event-log-path >事件日志的位置。

每个管道运行的实例称为一个更新。你经常想提取信息最近更新。运行下面的查询来找到最近的更新和保存它的标识符latest_update_id临时视图。这个视图中使用本文中的示例事件日志查询包括:

创建取代临时视图latest_update作为选择起源update_id作为idevent_log_raw在哪里event_type=“create_update”订单通过时间戳DESC限制1;

你可以查询在砖的笔记本或事件日志SQL编辑器。使用笔记本或SQL编辑器运行示例事件日志查询。

统一目录

如果你的管道统一目录发布表,你必须使用event_log表值函数(TVF)获取管道的事件日志。你检索事件日志管道通过管道TVF ID或表名称。例如,检索事件日志记录ID的管道04 c78631 - 3 - dd7 - 4856 b2a6 d84e9b2638b——7:

选择*event_log(“04 c78631 - 3 - dd7 - 4856 - b2a6 - 7 - d84e9b2638b”)

检索事件日志记录或拥有表创建的管道my_catalog.my_schema.table1:

选择*event_log((my_catalogmy_schema表1))

调用TVF,您必须使用一个共享的集群或SQL仓库。例如,您可以使用一个笔记本连接到一个共享的集群或使用SQL编辑器连接到一个SQL仓库。

简化查询事件管道,管道的所有者可以创建一个视图event_log时变滤波。下面的示例创建一个视图在管道的事件日志。这个视图中使用包含在本文示例事件日志查询。

请注意

event_logTVF只能被称为由管道所有者和创建一个视图event_logTVF只有管道所有者可以查询。视图不能与其他用户共享。

创建视图event_log_raw作为选择*event_log(“< pipeline-ID >”);

取代< pipeline-ID >与三角洲生活的惟一标识符表管道。你可以找到的ID管道的细节UI面板在三角洲地区的生活表。

每个管道运行的实例称为一个更新。你经常想提取信息最近更新。运行下面的查询来找到最近的更新和保存它的标识符latest_update_id临时视图。这个视图中使用本文中的示例事件日志查询包括:

创建取代临时视图latest_update作为选择起源update_id作为idevent_log_raw在哪里event_type=“create_update”订单通过时间戳DESC限制1;

从事件日志查询血统信息

事件包含血统信息事件类型flow_definition。的细节:flow_definition对象包含output_datasetinput_datasets定义中的每个关系图。

您可以使用以下查询提取输入和输出数据集看到血统信息:

选择细节:flow_definitionoutput_dataset作为output_dataset,细节:flow_definitioninput_datasets作为input_datasetevent_log_raw,latest_update在哪里event_type=“flow_definition”起源update_id=latest_updateid

output_dataset

input_datasets

1

客户

2

sales_orders_raw

3

sales_orders_cleaned

(“客户”、“sales_orders_raw”)

4

sales_order_in_la

[" sales_orders_cleaned "]

事件日志的查询数据质量

如果你在管道数据集上定义的期望,存储在数据质量指标细节:flow_progress.data_quality.expectations对象。事件包含的信息数据质量事件类型flow_progress。下面的示例查询的最后一根输油管之后的数据质量标准更新:

选择row_expectations数据集作为数据集,row_expectations的名字作为期望,总和(row_expectationspassed_records)作为passing_records,总和(row_expectationsfailed_records)作为failing_records(选择爆炸(from_json(细节:flow_progress:data_quality:预期,“数组< struct <名称:字符串,数据集:字符串,passed_records: int, failed_records: int > >”))row_expectationsevent_log_raw,latest_update在哪里event_type=“flow_progress”起源update_id=latest_updateid)集团通过row_expectations数据集,row_expectations的名字

数据集

期望

passing_records

failing_records

1

sales_orders_cleaned

valid_order_number

4083年

0

通过查询事件日志监控数据积压

三角洲生活表跟踪多少数据存在积压的细节:flow_progress.metrics.backlog_bytes对象。事件包含积压指标事件类型flow_progress。下面的示例查询积压指标在过去的管道更新:

选择时间戳,(细节:flow_progress指标backlog_bytes)作为待办事项列表event_log_raw,latest_update在哪里event_type=“flow_progress”起源update_id=latest_updateid

请注意

积压指标可能不是可根据管道的数据源类型和砖的运行时版本。

监视增强的自动定量事件从事件日志

事件日志捕捉集群会自动启用增强的自动定量时管道。事件包含的信息增强的自动定量事件类型自动定量。信息存储在集群调整请求细节:自动定量对象。下面的示例查询集群增强的自动定量调整请求过去管道更新:

选择时间戳,(情况下细节:自动定量状态=“调整”然后细节:自动定量requested_num_executors其他的结束)作为starting_num_executors,(情况下细节:自动定量状态=“成功”然后细节:自动定量requested_num_executors其他的结束)作为succeeded_num_executors,(情况下细节:自动定量状态=“PARTIALLY_SUCCEEDED”然后细节:自动定量requested_num_executors其他的结束)作为partially_succeeded_num_executors,(情况下细节:自动定量状态=“失败”然后细节:自动定量requested_num_executors其他的结束)作为failed_num_executorsevent_log_raw,latest_update在哪里event_type=自动定量的起源update_id=latest_updateid

监控计算资源利用率

cluster_resources事件提供指标在集群的任务名额,这些任务槽利用多少,有多少任务等待安排。

当启用增强的自动定量时,cluster_resources事件还包含自动定量度量算法,包括latest_requested_num_executors,optimal_num_executors。事件也显示算法等不同状态的状态CLUSTER_AT_DESIRED_SIZE,SCALE_UP_IN_PROGRESS_WAITING_FOR_EXECUTORS,BLOCKED_FROM_SCALING_DOWN_BY_CONFIGURATION。这些信息可以结合自动定量事件提供一个增强的自动定量的整体图片。

下面的示例查询任务队列大小历史过去管道更新:

选择时间戳,(细节:cluster_resourcesavg_num_queued_tasks)作为queue_sizeevent_log_raw,latest_update在哪里event_type=“cluster_resources”起源update_id=latest_updateid

下面的示例查询利用历史过去管道更新:

选择时间戳,(细节:cluster_resourcesavg_task_slot_utilization)作为利用event_log_raw,latest_update在哪里event_type=“cluster_resources”起源update_id=latest_updateid

下面的示例查询执行程序计算历史,伴随着指标只能对增强自动定量管道,包括执行器的数量要求的算法的最新要求,推荐的最优数量的执行人算法基于最近的指标,和自动定量算法状态:

选择时间戳,(细节:cluster_resourcesnum_executors)作为current_executors,(细节:cluster_resourceslatest_requested_num_executors)作为latest_requested_num_executors,(细节:cluster_resourcesoptimal_num_executors)作为optimal_num_executors,细节:cluster_resources状态作为autoscaling_stateevent_log_raw,latest_update在哪里event_type=“cluster_resources”起源update_id=latest_updateid

审计三角洲住表管道

您可以使用三角洲生活表事件日志记录和其他砖审计日志得到一个完整的数据被更新在三角洲住表。

三角洲生活表使用管道所有者的凭证来运行更新。你可以改变使用的凭证更新管道所有者。三角洲生活表记录用户操作的管道,包括管道的创建、编辑配置和触发更新。

看到统一目录事件统一的参考目录审核事件。

事件日志中查询用户操作

您可以使用事件日志审计事件,例如,用户操作。事件包含的信息用户操作事件类型user_action

信息存储在行动user_action对象细节字段。使用以下查询构建用户事件的审计日志。创建event_log_raw视图中使用这个查询,看看查询事件日志

选择时间戳,细节:user_action:行动,细节:user_action:user_nameevent_log_raw在哪里event_type=“user_action”

时间戳

行动

user_name

1

2021 - 05 - 20 - t19:36:03.517 + 0000

开始

user@company.com

2

2021 - 05 - 20 - t19:35:59.913 + 0000

创建

user@company.com

3

2021 - 05 - 27 - t00:35:51.971 + 0000

开始

user@company.com

运行时信息

你可以查看管道运行时信息更新,例如,砖的运行时版本的更新:

选择细节:create_update:runtime_version:dbr_versionevent_log_raw在哪里event_type=“create_update”

dbr_version

1

11.0