借助 Looker 的永久性派生表 (PDT) 函数,您可以在 Looker 中执行复杂的分析。Looker 会在永久派生表页面上显示多项有助于跟踪和排查 PDT 行为的管理功能。拥有适当权限的管理员和用户可以通过 Looker 管理面板的数据库部分访问该页面。(如需了解如何排查 PDT 问题,请参阅 Looker 中的派生表文档页面。)
永久性派生表页面仅显示已启用 PDT 的关联,并且仅显示符合以下条件的 PDT:
本页中的信息基于内部 PDT 事件日志,如本页中的 PDT 事件日志模型部分所述。
自定义表
默认情况下,永久性派生表页面会在该页面上最多显示 25 个 PDT,并为您对 Looker 实例拥有数据访问权限的所有连接加载 PDT。您可以通过以下几种方式更改表格中显示的数据:
- 点击所有连接旁边的箭头,仅查看来自特定连接的 PDT。该选择器仅显示已启用 PDT 且您有权访问数据的连接。
- 在搜索框中输入关键字,将 PDT 列表缩小到名称中包含该关键字的 PDT。表格中会显示包含匹配搜索字词的 PDT,并将其加粗显示。点击搜索栏中的 X 可清除搜索查询字词。
- 点击过滤条件图标,为表定义过滤条件。
- 点击“关闭/打开”图标可显示或隐藏资讯一览部分。
- 点击列名称即可按该列对表格进行排序。再次点击列名称可将排序顺序倒转。
- 点击选择要显示的列图标,即可隐藏或显示表格中的列。
- 您可以使用显示选择器选择在单个页面上显示的结果数量。如果表格超出单页显示范围,您可以点击页面底部中间的箭头,前往下一页或上一页。
过滤
您可以使用搜索栏旁边的过滤条件图标,选择要在永久派生表页面上显示哪些 PDT。例如,您可以按上次构建状态进行过滤,仅查看遇到构建错误的 PDT,也可以按型号进行过滤,从而限定只显示给特定型号的 PDT。
如需过滤永久性派生表页面,请执行以下操作:
- 点击过滤条件图标 。
- 从过滤器菜单中的第一个过滤条件选择器中选择一个过滤条件选项。您可以使用以下选项:
- 在过去未触发 - 按在指定时数和分钟数内未触发的 PDT 过滤永久性派生表页面。
- Triggered in the last(上次触发时间) - 按在指定小时和分钟内触发的 PDT 过滤永久性派生表页面。
- 模型 - 过滤永久性派生表页面,以查找指定模型中包含的 PDT。
- 持久性规则 - 按 PDT 持久性类型过滤永久性派生表页面。
- 上次尝试状态 - 按指定的 PDT 状态过滤永久性派生表页面。
- 发布为稳定视图 - 这是一个布尔值,用于过滤永久性派生表页面以查找 PDT,并为已发布为稳定视图的 PDT 显示 Yes;对于未作为稳定视图发布的 PDT,显示 No(取决于
publish_as_db_view
参数值)。 - 上次构建时长超过 - 按构建时间超过指定秒数的 PDT 过滤永久性派生表页面。
- 项目 - 按指定 LookML 项目中的 PDT 过滤永久性派生表页面。
- 在第二个过滤条件选择器中,选择要用于过滤永久派生表页面的值。对于上次未触发时间或上次触发时间选项,输入小时数或分钟数。对于上次构建时长超过选项,输入秒数。
- 点击添加过滤条件以添加更多过滤条件,然后针对要添加的每个过滤条件重复第 2 步和第 3 步。
- 如需清除过滤条件选择并随时重新开始,请点击全部清除。
- 若要移除任何其他过滤条件,请点击要移除的过滤条件对应的清除选项。
- 如需将所选过滤条件应用于永久派生表页面,请点击应用。
您会在永久性派生表页面顶部看到已应用的过滤条件。
在永久性派生表页面上,点击已应用的过滤条件旁边的 X,从永久性派生表页面中移除过滤条件。点击全部清除可清除所有过滤条件。
了解 PDT 页面
以下部分介绍了永久派生表页面上的信息。
“生产”和“开发”标签页
如果您是处于开发模式的 LookML 开发者,则“永久性派生表”表将包含两个标签页:
正式版标签页默认处于选中状态,并显示正式版 PDT。这些是已部署到实例上生产环境的 PDT;这些 PDT 会提供您用户的探索查询。(如果您处于正式版模式或没有
develop
权限,则“永久派生表”页面不会显示任何标签页,并且该页面仅会显示正式版 PDT 的信息。)开发标签页会显示开发 PDT。开发 PDT 尚未推送到生产环境。
当处于开发模式的 LookML 开发者进行更改,而这些更改会影响 PDT 中的数据或 PDT 的查询方式时,Looker 会创建开发 PDT。这些更改会促使 Looker 创建开发 PDT,但除非在进行更改后查询 PDT,否则 Looker 实际上不会构建 PDT。开发标签页可帮助您确定 Looker 创建了哪些开发 PDT 以及这些 PDT 是否已构建。
如需详细了解 Looker 创建开发 PDT 的原因以及开发 PDT 在数据库中的保留时长,请参阅 Looker 中的派生表文档页面。
“资讯一览”部分
一目了然部分会以直观的方式汇总当前在 PDT 表中显示的 PDT 的状态。如果您已为表格定义了过滤条件,或者已使用页面顶部所有连接旁边的箭头将表格范围缩小到特定连接,则资讯一览部分会缩小结果范围,以与 PDT 表格中显示的内容一致。
你可以点击资讯一览部分顶部的关闭/打开图标来显示或隐藏该部分。
表列
以下部分介绍了永久性派生表页面上的表列。您可以点击选择要显示的列图标,隐藏或显示某些表格列。如需了解详情,请参阅本页面上的自定义表格部分。
PDT 名称
PDT 名称列会显示 PDT 的名称,该名称在 PDT 的 LookML 视图文件的 view
参数中定义。
PDT 名称列会在 PDT 名称下显示以下其他信息(如果适用):
- 旧 build 表示该行显示的是旧 PDT build 的相关信息。如需详细了解此消息,请参阅 Options 菜单中的 PDT Details 弹出式窗口。
- 增量表示 PDT 是增量 PDT。
- 具体化视图表示 PDT 是数据库上的具体化视图。
上次尝试状态
上次尝试状态列会显示上次尝试构建列出的每个 PDT 的状态:
- 重新生成表示可以查询 PDT,并且当前正在构建更新后的表。时间戳表示 PDT 开始构建的时间。
- Success 表示 PDT 已成功构建。
- 构建表示 PDT 目前正在构建,在构建完成之前无法查询。
- 未构建表示 PDT 目前未构建。
- 构建错误表示构建期间发生了错误。如果您拥有查看 LookML 的相应权限,可以点击 Build Error 查看错误的来源,并转到 PDT 的 LookML。如需详细了解如何从永久性派生表页面排查 PDT 问题,请参阅本页上的选项菜单部分。
上次尝试时间
上次尝试时间列表示上次尝试构建 PDT 时的时间。
上次成功构建时间
Last Successful Build(上次成功构建)列会显示上次成功的 PDT 构建时间。
上次构建时长
Last Build Duration 列显示构建该 PDT 的最新构建所需的时间(以秒为单位),以及构建 PDT 所需的平均时间(以秒为单位)。
持久性规则
持久化规则列显示应用于 PDT 的持久化类型,如 PDT 的视图文件中所定义。它还会指示上次检查成功构建的 PDT 的时间(对于触发器类型 PDT),或者成功构建的 PDT 的到期时间(对于持久类型的 PDT)。“持久化规则”列中会显示两种类型的持久化:
- 对于使用
persist_for
参数保留的 PDT,系统会显示 Persist for (time)。 - 对于使用
datagroup_trigger
参数保留的 PDT,此列会显示触发器:(数据组名称)。您可以点击数据集名称链接,查看datagroup
参数的sql_trigger
值。 - 对于使用
sql_trigger_value
参数保留的 PDT,此列会显示触发器:SQL。您可以点击链接查看sql_trigger_value
语句。 - 系统针对具体化视图显示具体化视图,该视图会利用数据库的功能在数据库中保留派生表。
项目
“Project”(项目)列表示定义 PDT 的 LookML 项目的名称。
连接
如果从连接选择中选择了所有连接,系统会显示连接列,并显示启用了 PDT 的连接的名称。
模型
模型列会显示包含 PDT 视图文件的模型文件的名称。
“选项”菜单
三点状 Options 菜单
特别适合用于排查意外行为。借助该页面提供的选项,您可以查看表的上次构建时间、构建所用时间、最新构建时间与平均构建时间的对比情况,以及检查触发器是否正常运行。您可以选择以下任一选项:- 前往 LookML - 如果您拥有查看 LookML 的适当权限,则会打开用于定义 PDT 的视图文件。
- PDT 活动信息中心 - 打开PDT 活动信息中心,该信息中心会过滤以显示所选 PDT 在过去四周内的活动。
- PDT 详细信息 - 打开一个弹出式窗口,其中包含特定 PDT 的更多信息和统计信息。如需了解详情,请参阅此页面上的 PDT 详细信息模态部分。
如需问题排查提示,请参阅 Looker 中的派生表文档页面中的“监控和排查 PDT 问题”部分。
PDT 详情模态窗口
点击 PDT 的三点状选项菜单
中的 PDT 详细信息选项,以查看 PDT 详细信息模态。模态窗口中的信息取决于 PDT 的配置。您可能会看到以下信息:
- 表名称:最新成功构建的 PDT 的哈希。
- 模型:包含 PDT 的视图文件的模型文件的名称。
- 稳定名称:PDT 在数据库中的稳定版数据库视图的名称(如果 PDT 已发布为稳定版视图)。您可以通过向派生表添加
publish_as_db_view: yes
语句,或使用materialized_view: yes
语句将派生表转换为具体化视图,将 PDT 作为稳定视图发布到数据库中。 - 连接:启用了 PDT 的连接的名称。
- 旧 build:一个布尔值,如果 build 是旧 PDT build,则显示 Yes;如果不是,则显示 No。
- 表类型:对于旧版 build,此字段会显示,并显示表类型。值包括 Old Generation Table 和 Standin。
- 增量 PDT:一个布尔值,如果 PDT 是增量 PDT,则显示 Yes;如果不是,则显示 No。
- 状态:提供上次尝试状态。对于失败的构建,如果用户具有查看 LookML 的相应权限,请提供 SQL 错误消息和指向模型 LookML 的链接。
- 依赖项:点击显示依赖项图表按钮可显示此 PDT 所依赖的所有派生表的关系图。图中的每个节点都对应一个派生表。每个节点的颜色都与派生表的状态相对应,如下所示:
- 上次 build:
- 最近一次成功构建的时间:最近一次成功构建 PDT 的日期和时间。
- 最新 build 时长:最近一次 PDT build 的用时(以秒为单位;如果表格尚未构建,则显示 –)。
- 平均构建时长:构建 PDT 的平均时长(以秒为单位;如果相应表尚未构建完毕,则显示 -)。
- 构建原因:构建 PDT 的原因(对于初始 build,为 inception;如果 PDT 使用数据集群进行持久化,则为 datagroup triggered;如果 PDT 的 SQL 触发器值发生了更改,则为 trigger value change)。
- 递增键:使用增量 build 的 PDT 的
increment_key
参数。 - 增量偏移量:适用于使用增量 build 的 PDT 的
increment_offset
参数。 - 增量构建添加/移除的行数:上次递增表时向表添加或从表中移除的行数(如果在表的保留策略上次触发增量时未添加或移除行,则显示 -)。
- 上次尝试的 SQL:用于查询数据库以创建表的上次 build 的 SQL。
- 持久性规则:
- Type:表所使用的持久性类型。请参阅本页面上的“持久性规则”列部分,了解可能的值。
- 保留时长:对于 Persist 类型的 PDT,为保留时长值。不适用于触发器类型的 PDT。
- 数据集群:对于数据集群触发器 PDT,请提供数据集群的名称。
- SQL 代码块:对于数据组和 SQL 触发器 PDT,该代码块会显示触发器的 SQL 语句。对于数据集群触发器,这是数据集群的
sql_trigger
参数的 SQL。对于 SQL 触发器,这是sql_trigger_value
参数的 SQL。 - 触发器值:对于触发器类型 PDT,该值是触发 PDT 构建的值(如果使用
datagroup_trigger
成功构建了 PDT,则显示 –;如需查看datagroup的最新触发器值,请参阅管理面板中的数据组页面)。 - 上次检查时间:对于触发器类型 PDT,上次检查触发器值的时间。
- 到期时间:PDT 的到期时间(如果适用,不适用于数据集触发器)。
PDT 活动信息中心
PDT 活动信息中心会显示与 PDT、其重新构建和查询相关的信息。
PDT 活动信息中心默认显示过去四周的活动信息。您可以使用信息中心顶部的过滤栏更改显示的时间段。PDT 活动信息中心包含显示以下信息的功能块:
- PDT 摘要,其中包含定义 PDT 的 LookML 模型和视图的名称、PDT 使用的 connection 数据库的名称、PDT 成功和失败的 build 尝试次数的总和,以及失败的 build 尝试次数占总 build 尝试次数的百分比。
- 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 日志操作及其对应的操作数据,请参阅了解 PDT 日志操作文档页面。 |
连接 | 派生表所在连接的名称。 |
哈希 | 每个派生表都包含用于创建它的 SQL 的哈希值。 |
ID | 生成 PDT 的 Looker 实例的唯一 ID。在许多情况下,只有一个 Looker 实例指向一个数据库,因此您只会看到一个 ID。但是,如果您有预演实例或类似性质的实例,则可能会看到多个 ID。 |
模型名称 | 生成表时所用的模型的名称。 |
发生日期 | 事件发生的日期和时间。 |
出现 Utc 显示日期 | 事件发生的日期和时间(以世界协调时间 [UTC] 为准)。 |
序列 | PDT build 中的步骤编号。 |
短哈希 | 为创建派生表而编写的 SQL 哈希的截断版本。 |
表名称 | PDT 的全名,包括表类型前缀、哈希和视图名称。 |
TID | 交易 ID。 |
视图名称 | 派生表的视图名称。 |