Looker 的永久性派生表 (PDT) 函数可让您在 Looker 中执行复杂的分析。Looker 在永久性派生表页面上显示了多项管理员功能,可帮助跟踪 PDT 行为并排查问题。拥有相应权限的管理员和用户可以从 Looker 的管理面板的数据库部分访问这些功能。(如需了解如何排查 PDT 问题,请参阅 Looker 中的派生表文档页面)。
永久性派生表页面仅显示已启用 PDT 的连接,并且仅显示符合以下条件的 PDT:
- 除非您处于开发模式,否则 PDT 会在生产环境中的视图文件中定义。在这种情况下,您可以使用开发标签页查看永久性表格的开发版本。
- PDT 是正确配置的模型的一部分。
- PDT 是您拥有数据访问权限的模型的一部分。
本页面上的信息基于内部 PDT 事件日志,如本页的 PDT 事件日志模型部分所述。
自定义表格
默认情况下,永久性派生表页面会显示最多 25 个 PDT,并为您在 Looker 实例上拥有数据访问权限的所有连接加载 PDT。您可以通过以下几种方式更改表格中显示的数据:
- 点击 All Connections(所有连接)旁边的箭头,仅查看来自特定连接的 PDT。选择器仅显示已启用 PDT 且您拥有数据访问权限的连接。
- 在搜索框中输入关键字,缩小 PDT 列表的范围,仅显示名称包含相应关键字的 PDT。该表格会以粗体显示匹配搜索字词的 PDT。点击搜索栏中的 X 可清除搜索查询字词。
- 点击过滤条件图标,为表格定义过滤条件。
- 点击关闭/打开图标即可显示或隐藏资讯一览部分。
- 点击列名称,即可按该列对表格排序。再次点击列名称,以反向排序。
- 点击选择要显示的列图标即可隐藏或显示表格中的列。
- 使用显示选择器可选择单个网页上显示的结果数量。如果表格超过单个页面,您可以点击页面底部中央的箭头以转到下一页或上一页。
过滤
您可以使用搜索栏旁边的过滤条件图标,选择永久性派生表页面上显示的 PDT。例如,您可以按上次构建状态进行过滤,以仅查看遇到构建错误的 PDT;或者,您可以按模型进行过滤,以限制显示特定模型的 PDT。
如需过滤永久性派生表页面,请执行以下操作:
- 点击过滤条件图标。
- 从过滤条件菜单中的第一个过滤条件选择器中选择过滤条件选项。您可以使用以下选项:
- 未触发至过去的时间 - 按未在指定小时数和分钟数触发过的 PDT 过滤永久性派生表页面。
- 上次触发时间 - 按在指定小时和分钟内触发的 PDT 过滤永久性派生表页面。
- Model - 针对指定模型中包含的 PDT 过滤永久性派生表页面。
- 持久性规则 - 按 PDT 持久性类型过滤永久性派生表页面。
- 最后一次尝试状态 - 按指定的 PDT 状态过滤永久性派生表页面。
- 作为稳定视图发布 - 一个布尔值,用于针对 PDT 过滤永久性派生表页面,并且对作为稳定视图发布的 PDT 显示是,对于未发布为稳定视图的 PDT,显示否(由其
publish_as_db_view
参数值确定)。 - Last Build Duration Long Thans(上次构建时长超过持续时间)- 按构建用时超过指定秒数的 PDT 过滤 Persistent Durived Tables(永久性派生表)。
- Project - 按 PDT 中的指定 LookML 项目过滤永久性派生表页面。
- 选择要在第二个过滤条件选择器中过滤永久性派生表页面的值。对于上次触发时间或上次触发时间选项,输入小时数或分钟数。对于 Last Build Duration Longer Thans(上次构建时长过长)选项,请输入秒数。
- 点击添加过滤条件,添加更多过滤条件,然后对要添加的每个过滤条件重复第 2 步和第 3 步。
- 您可以随时清除所选的过滤条件并重新开始,然后点击全部清除。
- 若要移除任何其他过滤条件,请点击要移除的过滤条件上方的清除。
- 如需将选定的过滤条件应用于永久性派生表页面,请点击应用。
您会在永久性派生表页面顶部看到已应用的过滤条件。
点击某个已应用过滤条件旁边的 X,即可将其从永久性派生表页面中移除。点击全部清除可清除所有过滤条件。
了解 PDT 页面
以下部分介绍永久性派生表页面上的信息。
生产环境”和“开发”标签页
如果您是处于开发模式的 LookML 开发者,永久性派生表表将有两个标签页:
默认情况下,正式版标签页处于选中状态,并显示正式版 PDT。这些 PDT 已部署到您的实例上的生产环境中;这些 PDT 会提供用户的“探索”查询数据。(如果您处于生产模式或您没有
develop
权限,持久派生表页面将不会显示任何标签页,并且该页面仅会显示生产 PDT 的相关信息。)开发标签页会显示开发 PDT。开发 PDT 尚未推送到生产环境。
当处于开发模式的 LookML 开发者做出会影响 PDT 中的数据或 PDT 查询方式的更改时,Looker 会创建一个开发 PDT。这些更改会提示 Looker 创建开发 PDT,但 Looker 实际上并不会构建 PDT,除非在发生更改后查询 PDT。Development 标签页可以帮助您确定 PDT Looker 创建了哪些开发版以及开发版是否开发了。
如需详细了解 Looker 如何创建开发 PDT 以及开发 PDT 在数据库中保留的时长,请参阅 Looker 中的派生表文档页面。
“资讯一览”版块
资讯一览部分直观显示了当前显示在 PDT 表中的 PDT 的状态。如果您已为表格定义过滤条件,或者已使用页面顶部的所有连接旁边的箭头将表格限制为特定连接,那么资讯一览部分会缩小结果的范围,使其与 PDT 表格中显示的内容相符。
你可以点击/关闭“资讯一览”图标顶部的部分,从而显示或隐藏该部分。
表列
以下部分介绍永久性派生表页面上的表列。您可以点击选择要显示的列图标,以隐藏或显示某些表格列。如需了解详情,请参阅本页面的自定义表部分。
PDT 名称
PDT Name(PDT 名称)列会显示 PDT 的 LookML 视图文件的 view
参数中定义的 PDT 名称。
PDT Name(PDT 名称)列会在 PDT 名称(若适用)下显示这些额外信息:
- Old Build 表示相应行显示的是有关旧 PDT 版本的信息。如需详细了解此消息,请参阅选项菜单中的 PDT 详细信息弹出式窗口。
- 递增表示 PDT 是增量 PDT。
- 具体化视图表示 PDT 是数据库中的一个具体化视图。
上次尝试状态
最后一次尝试状态列显示上次尝试构建列出的每个 PDT 的状态:
- 正在重新生成表示可以查询 PDT,并且有一个目前正在构建的更新表。时间戳表示 PDT 开始构建的时间。
- 成功表示 PDT 已成功构建。
- 构建表示 PDT 正在构建中,并且在构建完成之前无法查询。
- 未构建表示尚未构建 PDT。
- 构建错误表示构建期间出现了错误。如果您拥有查看 LookML 的相应权限,则可以点击 Build Error(构建错误)以查看错误来源,然后转到 PDT 的 LookML。请参阅此页面上的“选项”菜单部分,详细了解如何从永久性派生表页面排查 PDT 问题。
上次尝试时间
Last Tryed At 列表示上次尝试 PDT 构建的时间。
上次成功构建时间
Last Success Build 列表示上次成功的 PDT 构建的时间。
上次构建时长
Last Build Duration(上次构建时长)列显示相应 PDT 的最新 build 所花费的时间(以秒为单位),以及平均 PDT 构建时间(以秒为单位)。
持久性规则
“持久性规则”列会显示应用于 PDT 的持久性类型,如 PDT 的视图文件中所定义。它还表示上次成功检查的 PDT(针对触发器类型 PDT)或上次成功生成的 PDT 何时到期(对于持久性类型的 PDT)。持久性规则列中显示了两种类型的保留功能:
- 持续出现时间:(对于使用
persist_for
参数保留的 PDT 会显示)。 - 触发器:(数据组名称)用于通过
datagroup_trigger
参数持久保留的 PDT。您可以点击数据组名称链接,查看datagroup
形参的sql_trigger
值。 - 触发器:SQL 是使用
sql_trigger_value
参数保留的 PDT 显示的。您可以点击链接来查看sql_trigger_value
语句。 - 具体化视图针对具体化视图显示,该视图利用数据库的功能在数据库中保留派生表。
项目
Project 列表示定义了 PDT 的 LookML 项目的名称。
连接
如果从连接选择中选择 All Connections(所有连接),则会显示 Connection(连接)列,并显示已启用 PDT 的连接的名称。
模型
Model 列显示 PDT 视图文件已包含的模型文件的名称。
如果一个 PDT 视图文件包含在具有相同连接的多个模型文件中,则模型列中会显示多个模型。如果一个 PDT 视图文件包含在具有不同连接的多个模型文件中,则 PDT 也会出现在其他连接 PDT 列表中。
在模型中添加视图文件时请务必明确说明,因为包含所有视图文件可能会使数据库架构变得混乱,并导致系统基于您的数据库或多个数据库构建多个 PDT 副本。
“选项”菜单
三点状选项菜单对于排查意外行为特别有用。您可以通过显示的选项查看上次构建表格的时间、检查构建所用时间、将最新构建时间与平均构建时间进行比较,以及检查触发器是否正常运行。具体选项有:
- 转到 LookML - 如果您拥有查看 LookML 的相应权限,则系统会打开定义了 PDT 的视图文件。
- PDT 活动信息中心 - 打开 PDT 活动信息中心,系统会对其进行过滤,以显示过去四周内的所选 PDT 活动。
- PDT 详细信息 - 打开一个弹出式窗口,其中包含特定 PDT 的更多信息和统计信息。如需了解详情,请参阅本页面上的 PDT 详细信息模式部分。
如需查看问题排查提示,请参阅 Looker 中的派生表文档页面上的监控和 PDT 部分部分。
PDT 详细信息模态窗口
点击 PDT 的三点状选项菜单中的 PDT Details 选项,查看 PDT 详细信息模态。
模态中的信息取决于 PDT 的配置。您可能会看到以下信息:
- 表名称:最新成功构建的 PDT 的哈希。
- Model:包含 PDT 视图文件的模型文件的名称。
- 稳定名称:稳定数据库视图中的 PDT 数据库名称(如果 PDT 已作为稳定视图发布)。您可以将
publish_as_db_view: yes
语句添加到派生表中,或使用materialized_view: yes
语句使派生表成为具体化视图,从而在数据库上发布 PDT。 - 连接:启用了 PDT 的连接的名称。
- Old Build(布尔值):一个布尔值,如果 build 是旧 PDT build,则为 Yes;如果不是,则显示 No。
- 表格类型:对于旧 build,系统会显示此字段并显示表类型。值包括 Old Generation Table 和 Standin。
- 增量 PDT:一个布尔值,如果 PDT 是增量 PDT,则显示 Yes;否则,显示 No。
- 状态:显示上次尝试状态。对于失败的构建,请提供一个 SQL 错误消息以及指向模型 LookML 的链接(如果用户具有查看 LookML 的适当权限)。
- 依赖项:点击显示依赖项图表按钮可显示此 PDT 所依赖的所有派生表的关系图。图中的每个节点对应一个派生表。每个节点的颜色对应于该派生表的状态,如下所示:
- 绿色节点表示已成功构建的 PDT。
- 黄色节点表示当前正在构建或递增的 PDT。
- 红色节点表示未能构建的 PDT。
- 灰色节点表示尚未构建的 PDT。
- 白色节点表示某个临时派生表,Looker 不会构建该表。
- 上次构建时间:
- 最新成功 build:最近一次成功的 PDT 构建的日期和时间。
- Latest Build Duration(最新构建时长):最近 PDT 构建所花费的时间(以秒为单位;如果表尚未构建,则显示 –)。
- 平均构建时长:平均构建 PDT 所需的时间(以秒为单位;如果表格尚未构建,则显示 –)。
- 构建原因:构建 PDT 的原因(初始构建出现;如果数据组持久保留 PDT,则会触发数据组;如果 PDT 的 SQL 触发器值发生更改,则触发值更改)。
- 增量密钥:使用增量构建的 PDT 的
increment_key
参数。 - 增量偏移:使用增量构建的 PDT 的
increment_offset
参数。 - 增量构建添加/移除行:在上次增加表格时添加或移除表中的行数(如果表格的持久性策略上次触发递增,则在添加或移除行后显示 – 行)。
- 最后一次尝试的 SQL:用于查询数据库以创建表的最后一个 build 的 SQL。
- 持久性规则:
- 类型:表使用的持久性类型。请参阅本页面上的持久性规则列部分,了解可能的值。
- 持久性:对于持久化类型的 PDT,持久性时长值。不适用于触发器类型的 PDT。
- 数据组:对于数据组触发器 PDT,指定数据组的名称。
- SQL 代码块:对于数据组和 SQL 触发器 PDT,代码块将显示触发器的 SQL 语句。对于数据组触发器,这是数据组
sql_trigger
参数的 SQL。对于 SQL 触发器,这是用于sql_trigger_value
参数的 SQL。 - 触发器值:对于触发器类型 PDT,触发 PDT 构建的值(对于使用
datagroup_trigger
持续成功构建的 PDT,系统会显示 –;要查看数据组的最新触发器值,请参阅管理面板中的 Datagroups 页面)。 - 上次检查时间:对于触发器类型 PDT,上次检查触发器值的时间。
- 到期:PDT 到期(如果适用,不适用于数据组触发器)。
PDT 活动信息中心
PDT Activity 信息中心会显示有关 PDT、其重新构建及其查询的信息。
PDT 活动信息中心默认显示过去四周的活动信息。您可以使用信息中心顶部的过滤条件栏更改所显示的时间段。PDT 活动信息中心包含用于显示以下信息的图块:
- PDT 的摘要,包括用于定义 PDT 的 LookML 模型和视图的名称、PDT 使用的数据库连接的名称、PDT 成功和失败的构建尝试总数,以及失败的构建尝试总数。
- 最近完全重新构建 PDT 的日期和时间。
- 如果 PDT 是增量 PDT,则最近一次增量重建 PDT 的日期和时间。
- 如果 PDT 是增量 PDT,那么自上次完全重新构建以来发生的增量重新构建的次数。
- 重建 PDT 所用的平均时间。
- 可视化图表:显示最近发生的所有创建事件(按导致事件的操作类型分组)。
- 在该信息中心时间段内出现的所有 PDT 重新构建的列表,包括每次重新构建完成的日期、完成每个重新构建所用的秒数、重新构建是否是增量构建、导致每次重新构建的触发器、以及 PDT 构建的数量。
- 所有失败的重新构建尝试的列表,包括失败重建的开始日期和时间、导致失败的错误类型、错误消息和创建失败的次数。
- 所有 PDT 重新构建触发器事件的列表,包括事件 ID 编号、事件日期、事件类型以及触发器事件中包含的数据。
- 所有 PDT 重新构建事件的列表,包括事件 ID 号、事件日期、事件类型以及重新构建事件中包含的数据。
- 直接查询字段的查询数量,按查询来源和每个查询来源的平均运行时分组。
- 在 PDT 上运行的查询总数。
- 查询的所有 PDT 字段的列表,包括定义了该字段的 LookML 视图和模型、字段名称、包含该字段的探索运行的名称以及该字段包含在查询中的次数。
PDT 事件日志模型
Looker 包含一个名为 system_activity
的预构建模型,该模型可让您轻松探索 PDT 事件日志,该日志是数据库连接临时架构中的一个表,用于跟踪 PDT 的触发器和构建活动。您可以通过永久性派生事件页面的选项三点状菜单或 Looker 管理面板的连接页面中访问最近构建事件和近期触发器事件链接,访问该模型。如需从连接页面访问 PDT 事件日志,请从每个连接最右侧的齿轮图标下拉菜单中选择显示 PDT 事件日志选项。
您可以像探索任何其他 Looker 探索一样探索模型。从连接页面访问时,系统会针对整个连接过滤 PDT 事件日志“探索”。从永久性派生表页面访问时,PDT 事件日志探索会针对特定 PDT 进行过滤。
下文简要介绍了可用的字段:
字段 | 说明 |
---|---|
操作 | 描述发生的操作,这可能包括重新生成、丢弃、创建和收集活动。 如需详细了解如何查看和理解 PDT 日志操作及其对应的操作数据,请参阅了解 PDT 日志操作文档页面。 |
操作数据 | 提供有关操作的详细信息,包括正在使用的触发器、触发器的值、持久性表的到期时间、重新构建的原因、错误消息的文本等。 如需详细了解如何查看和了解 PDT 日志操作及其对应的操作数据,请参阅了解 PDT 日志操作文档页面。 |
连接 | 派生表所在的连接的名称。 |
哈希 | 每个派生表均包含为创建该表而编写的 SQL 哈希值。 |
ID | 生成 PDT 的 Looker 实例的唯一 ID。在许多情况下,只有一个 Looker 实例指向一个数据库,因此您只能看到一个 ID。但是,如果您有暂存实例或具有这种性质的内容,则您可能会看到多个 ID。 |
模型名称 | 生成表所依据的模型的名称。 |
发生日期 | 事件发生的日期和时间。 |
发生变更显示日期 | 事件发生的日期和时间(采用世界协调时间/UTC)。 |
序列 | PDT build 中的一个步骤编号。 |
短哈希 | 为创建派生表而编写的 SQL 哈希的截断版本。 |
表名称 | PDT 的全名,包括表类型前缀、哈希和视图名称。 |
潮汐 | 交易 ID。 |
视图名称 | 派生表的视图名称。 |