管理员设置 - 永久性派生表

Looker 的永久性派生表 (PDT) 函数可让您在 Looker 中执行复杂的分析。Looker 在持久性派生表页面上显示多项有助于跟踪 PDT 行为的管理员功能,拥有适当权限的管理员和用户可在 Looker 的管理面板的数据库部分访问这些功能。(如需详细了解 PDT 问题排查,请参阅 Looker 中的派生表格文档页面)。

Persistent Derived Tables 页面仅显示已启用 PDT 的连接,且仅显示符合以下条件的 PDT:

  • PDT 是在正式版视图文件中定义的,除非您处于开发模式。在该模式下,您可以使用“开发”标签页查看开发版持久表。
  • PDT 是正确配置的模型的一部分。
  • PDT 是您具有数据访问权限的模型的一部分。

本页面中的信息基于内部 PDT 事件日志,如本页面的 PDT 事件日志模型部分所述。

自定义表

默认情况下,Persistent Derived Tables 页面最多显示 25 个 PDT,并且会为您在 Looker 实例上拥有数据访问权限的所有连接加载 PDT。您可以通过以下几种方式更改表格中显示的数据:

  1. 点击所有连接旁边的箭头,仅查看来自特定连接的 PDT。选择器只会显示已启用 PDT 且您拥有数据访问权限的连接。
  2. 在搜索框中输入关键字,将 PDT 列表缩小到名称包含关键字的 PDT。表格中会以粗体显示匹配搜索字词的首选交易。点击搜索栏中的 X 可清除搜索查询字词。
  3. 点击过滤条件图标,为表格定义过滤条件
  4. 点击关闭/打开图标,以显示或隐藏资讯一览部分。
  5. 点击列名称即可按该列对表格进行排序。再次点击该列的顺序即可反向排序。
  6. 点击选择要显示的列图标可隐藏或显示表格中的列。
  7. 点击页面底部的箭头即可转到下一页或上一页(如果表格长度超过单个页面)。
  8. 使用显示选择器可选择单个网页上显示的结果数量。

过滤

您可以使用搜索栏旁边的过滤条件图标来选择在 Persistent Derived Tables(持久性派生表)页面上显示哪些 PDT。例如,您可以按“上次构建状态”进行过滤,仅查看遇到构建错误的 PDT,也可以按“模型”进行过滤,以将特定型号显示的 PDT 缩小到相应的值。

如需过滤 Persistent Derived Tables 页面,请执行以下操作:

  1. 点击过滤条件图标。
  2. 从过滤条件菜单的第一个过滤条件选择器中选择一个过滤条件选项。您可以使用以下选项:
    • 未触发过去的某一时间 - 按尚未在指定小时数和分钟数触发的 PDT 过滤永久性派生表页面。
    • Last Triggered in(上次触发时间)- 按在指定的小时数和分钟数触发的 PDT 过滤 Persistent Derived Tables(永久性派生表)。
    • Model - 过滤指定模型中包含的 PDT 的 Persistent Derived Tables 页面。
    • 持久性规则 - 按 PDT 持久性类型过滤永久性派生表页面。
    • Last Try Status(上次尝试状态)- 按指定的 PDT 状态过滤永久派生表页面。
    • 发布为稳定视图 - 布尔值,用于过滤 PDT 的“持续派生表”页面;对于发布为稳定视图的 PDT,显示;对于未发布为稳定视图的 PDT,由其 publish_as_db_view 参数值决定。
    • Last Build Duration Longhan Than - 按构建时间超过指定秒数的 PDT 过滤 Persistent Derived Tables 页面。
    • 项目 - 按指定的 LookML 项目中的 PDT 过滤永久性派生表页面。
  3. 在第二个过滤条件选择器中,选择您要用于过滤 Persistent Derived Tables 页面的值。对于上次触发时间上次触发时间选项,请输入小时数或分钟数。对于上次构建时长超过选项,输入秒数。
  4. 点击添加过滤条件以添加更多过滤条件,并为要添加的每个过滤条件重复第 2 步和第 3 步。
    • 要清除您选择的过滤条件并随时重新开始操作,请点击全部清除
    • 如需移除个别其他过滤条件,请点击要移除的过滤条件上方的清除
  5. 要将所选过滤条件应用于永久性派生表页面,请点击应用

您会在 Persistent Derived Tables 页面的顶部看到应用的过滤条件:

点击已应用过滤条件旁边的 X,即可将其从永久性派生表页面中移除。点击全部清除以清除所有过滤条件。

了解 PDT 页面

以下部分介绍了永久性派生表页面上的信息。

“生产”和“开发”标签页

如果您是在开发模式下的 LookML 开发者,永久性派生表表中将有两个标签页:

  • 正式版标签页默认处于选中状态,并显示正式版 PDT。这些 PDT 已部署到您的实例上的生产环境中;这些 PDT 为您的用户提供数据;探索查询。(如果您处于生产模式或您没有 develop 权限,则持久性派生表页面将不会显示任何标签页,并且该页面仅显示生产 PDT 的相关信息。)

  • 开发标签页会显示开发 PDT;这些 PDT 是在开发期间创建的,并且尚未推送到生产环境:

当处于开发模式的 LookML 开发者做出会影响 PDT 中的数据或查询 PDT 方式的更改时,Looker 会创建一个开发 PDT。这些更改会提示 Looker 创建开发 PDT,但实际上 Looker 不会实际构建 PDT,除非在进行更改后查询 PDT。Development 标签页可以帮助您确定 Looker 创建了哪些开发 PDT,以及它们是否已构建完毕。

提示:您还可以使用 Looker IDE 查看项目中的未构建 PDT

如需详细了解 Looker 提示如何创建开发 PDT 以及开发 PDT 在数据库中保留的时间,请参阅 Looker 中的派生表文档页面。

“资讯一览”部分

一目了然部分会显示当前显示在 PDT 表格中的 PDT 的状态的直观摘要。如果您已为表格定义过滤条件,或者已使用页面顶部的所有连接旁边的箭头将表格范围缩小到特定连接,则资讯一览部分会缩小结果的范围,使其与 PDT 表格中显示的内容一致。

您可以通过点击该部分顶部的关闭/打开图标来显示或隐藏资讯一览部分。

表列

以下部分介绍了 Persistent Derived Tables 页面上的表列。点击选择要显示的列图标可隐藏或显示部分表格列。如需了解详情,请参阅本页面的自定义表部分。

太平洋夏令时间名称

PDT Name(PDT 名称)列会显示 PDT 的名称,如 PDT 的 LookML 视图文件的 view 参数中所定义。

PDT Name(PDT 名称)列会在 PDT 名称下显示以下额外信息(若适用):

  • Old Build 表示相应行显示了有关旧版 PDT build 的信息。如需详细了解此消息,请参阅选项菜单中的 PDT 详细信息弹出式窗口。
  • 增量表示 PDT 是一种增量 PDT
  • 具体化视图用于指示 PDT 是数据库中的具体化视图

上次尝试状态

Last Try Status 列显示了上次尝试构建列出的每个 PDT 的状态:

  • 正在重新生成表示可以查询 PDT,并且当前正在构建更新后的表格。时间戳可以表明 PDT 何时开始构建。
  • 成功 表示 PDT 已成功构建。
  • 正在构建表示某个 PDT 当前正在构建中,在构建完成之前无法查询。
  • 未构建表示尚未构建 PDT。
  • Build Error 表示构建过程中出现错误。如果您拥有查看 LookML 的相应权限,则可以点击 Build Error 以查看错误的来源,然后导航到 PDT 的 LookML。请参阅此页面上的选项菜单部分,详细了解如何从持久性派生表页面排查 PDT 问题。

上次尝试时间

上次尝试时间列显示的是上次尝试执行 PDT 的时间。

上次成功的构建

上次成功构建列会显示上次成功完成 PDT 构建的时间。

上次构建时长

Last Build Duration 列显示该 PDT 的最新 build 所花费的时间(以秒为单位),以及构建 PDT 的平均时长(以秒为单位)。

持久性规则

如 PDT 的视图文件所定义,持久性规则列会显示应用于 PDT 的持久性类型。以及上次成功检查 PDT 的时间(适用于触发器类型 PDT)或成功构建的 PDT 何时到期(对于持久性类型的 PDT)。持久性规则列中显示了两种类型的保留类型:

  • 对于使用 persist_for 参数保留的 PDT,系统会显示持续时间:(时间)
  • 触发器:(数据组名称)适用于使用 datagroup_trigger 参数保留的 PDT。您可以点击数据组名称链接来查看 datagroup 参数的 sql_trigger 值。
  • 系统会针对使用 sql_trigger_value 参数持久保留的 PDT 显示触发器:SQL。您可以点击链接查看 sql_trigger_value 语句。
  • 具体化视图会显示在具体化视图中,具体化视图利用数据库的功能在数据库中保留派生表。

项目

Project 列表示在其中定义了 PDT 的 LookML 项目的名称。

连接

如果从连接选择中选择 All Connections,系统会显示 Connection 列,并显示启用了 PDT 的 connection 的名称。

型号

Model 列将显示模型文件的名称,其中 PDT' 的查看文件已包含在内

如果 PDT 数据视图文件包含在共用同一连接的多个模型文件中,则模型列中会显示多个模型。如果 PDT 视图文件包含在具有不同连接的多个模型文件中,则 PDT 也会显示在其他连接 PDT 列表中。

在模型中加入视图文件时必须要明确,因为包含所有视图文件可能会使数据库架构杂乱无章,从而导致在数据库或多个数据库上构建 PDT 的多个副本。

“选项”菜单

三点状选项菜单在排查意外行为问题时特别有用。它提供的选项可让您检查上次构建表的时间、检查表构建所花费的时间、将最新的构建时间与平均构建时间进行比较,以及检查触发器是否正常运行。您可以从以下选项中进行选择:

  • 转到 LookML - 如果您拥有查看 LookML 的相应权限,则系统会打开定义了 PDT 的视图文件。
  • PDT 活动信息中心 - 打开 PDT 活动信息中心,该信息中心经过过滤后会显示过去 4 周内所选 PDT 的活动。
  • PDT Details - 打开一个弹出式窗口,其中包含特定 PDT 的详情和统计信息。如需了解详情,请参阅本页面上的 PDT 详细信息模式部分。

如需更多问题排查提示,请参阅排查 PDT 重新生成问题帮助中心文章。

PDT 详细信息模式

点击 PDT 的三点状选项菜单中的 PDT Details 选项,查看 PDT 详细信息模式:

模态模式下的信息取决于 PDT 的配置。您可能会看到以下信息:

  • 表名称:最新成功构建的 PDT 的哈希
  • 型号:PDT 视图文件已纳入模型文件的名称。
  • 稳定名称:数据库中 PDT 稳定数据库视图的名称(如果相应 PDT 已发布为稳定视图)。您可以向派生表添加 publish_as_db_view: yes 语句,或使用 materialized_view: yes 语句将派生表设为具体化视图,从而在数据库上发布 PDT。
  • 连接:已启用 PDT 的连接的名称。
  • Old Build:如果布尔值是旧的 PDT build,则显示 Yes;否则,显示 No
    • 表格类型:对于旧的 build,此字段会显示表格类型。值包括 Old Generation TableStandin
  • 增量 PDT:布尔值,如果 PDT 是增量 PDT,则显示“是”;如果不是,则显示“否”。
  • 状态:显示上次尝试状态。对于失败的构建,提供 SQL 错误消息,以及如果用户具有查看 LookML 的适当权限,则提供指向模型 LookML 的链接。
  • 依赖项:点击显示依赖项图表按钮可显示此 PDT 所依赖的所有派生表的关系图。图中的每个节点都对应于一个派生表。每个节点的颜色对应于该派生表的状态,如下所示:
    • 绿色节点表示已成功构建的 PDT。
    • 黄色节点表示当前正在构建或递增的 PDT。
    • 红色节点表示构建失败的 PDT。
    • 灰色节点表示尚未构建的 PDT。
    • 白色节点表示临时派生表,Looker 不会构建该表。
  • 上次构建时间
    • 最新成功 build:最近一次成功完成 PDT build 的日期和时间。
    • 最新构建时长:最新的 PDT build 花费的时间(以秒为单位;如果表格尚未构建,则显示 )。
    • 平均构建时长:平均构建 PDT 所需的时间(以秒为单位;如果表格尚未构建,则显示 )。
    • 构建原因:构建 PDT 的原因(初始构建启动;如果使用数据组保留 PDT,则触发数据组;如果 PDT 的 SQL 触发器值已更改,则触发值更改)。
    • 增量密钥:使用增量 build 的 PDT 的 increment_key 参数。
    • 增量偏移:使用增量 build 的 PDT 的 increment_offset 参数。
    • 增量构建添加/移除行数:在上次增加表时向表中添加或从中移除的行数(如果表的持久性策略上次触发增量,则在表中添加或移出的行不显示 )。
    • 上次尝试的 SQL:用于查询数据库以创建表的最后一个 build 的 SQL。
  • 持久性规则
    • 类型:表使用的持久性类型。请参阅此页面上的持久性规则部分,了解可能的值。
    • 永久保留:对于保留类型 PDT,保留时长值。不适用于触发器类型 PDT。
    • 数据组:对于数据组触发器 PDT,提供数据组的名称。
    • SQL 代码块:对于数据组和 SQL 触发器 PDT,代码块将显示触发器的 SQL 语句。对于数据组触发器,这是数据组的 sql_trigger 参数的 SQL。对于 SQL 触发器,这是 sql_trigger_value 参数的 SQL。
    • 触发器值:对于触发器类型 PDT,触发 PDT build 的值(对于使用 datagroup_trigger 成功构建的 PDT,显示 -;要查看数据组的最新触发器值,请参阅管理面板中的 数据组页面)。
    • 上次检查时间:对于触发器类型 PDT,上次检查触发器值的时间。
    • 到期时间:PDT 何时到期(如适用),不适用于数据组触发器。

PDT 活动信息中心

PDT 活动信息中心会显示有关 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 事件日志“探索”。从 Persistent Derived Tables 页面访问时,系统会针对特定 PDT 过滤 PDT 事件日志“探索”。

下面简要介绍了可用的字段:

字段说明
操作描述发生的操作,其中可能包括重新生成、拖放、创建和收集活动。

如需详细了解如何查看和了解 PDT 日志操作及其对应的操作数据,请参阅了解 PDT 日志操作文档页面。
操作数据提供有关操作的更多详细信息,包括正在使用的触发器、触发器的值、持久性表的到期时间、原因、重建的文本等。

如需详细了解如何查看 PDT 日志操作及其对应的操作数据,请参阅了解 PDT 日志操作文档页面。
连接派生表所在的连接的名称。
哈希每个派生表均包含为创建表而写入的 SQL 的哈希值。
ID生成 PDT 的 Looker 实例的唯一 ID。在许多情况下,只有一个 Looker 实例指向某个数据库,因此您只会看到一个 ID。但是,如果您有预演实例或具有此类性质的内容,您可能会看到多个 ID。
模型名称生成表的模型的名称。
发生日期事件发生的日期和时间。
发生 Utc 显示日期事件发生的日期和时间(采用世界协调时间)。
序列PDT build 中的步骤编号。
短哈希为创建派生表而编写的 SQL 哈希截断版本。
表名称PDT 的全名,包括表类型前缀、哈希和视图名称。
潮汐交易 ID。
视图名称派生表的视图名称。