借助 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 过滤永久性派生表页面。
- Project - 按指定 LookML 项目中的 PDT 过滤永久性派生表页面。
- 在第二个过滤选择器中,选择要用来过滤永久性派生表页面的值。对于上次未触发时间或上次触发时间选项,输入小时数或分钟数。对于上次构建时长超过选项,输入秒数。
- 点击添加过滤条件可添加更多过滤条件,然后针对要添加的每个过滤条件重复执行第 2 步和第 3 步。
- 要清除选择的过滤条件并随时重新开始,请点击全部清除。
- 若要移除任何其他过滤条件,请点击要移除的过滤条件对应的清除选项。
- 如需将所选过滤条件应用于永久性派生表页面,请点击应用。
您会在永久性派生表页面顶部看到已应用的过滤条件。
在永久性派生表页面上,点击已应用的过滤条件旁边的 X,从永久性派生表页面中移除过滤条件。点击全部清除以清除所有过滤条件。
了解 PDT 页面
以下部分介绍了永久性派生表页面上的信息。
生产环境)和“ Development”(开发)标签页
如果您是处于开发模式的 LookML 开发者,则 Persistent Derived Tables 表将有两个标签页:
正式版标签页默认处于选中状态,并显示正式版 PDT。这些是已部署到实例上生产环境的 PDT;这些 PDT 会提供您用户的探索查询。(如果您处于生产模式,或者没有
develop
权限,则永久性派生表页面将不会显示任何标签页,并且仅显示生产 PDT 的信息。)开发标签页会显示开发 PDT。开发 PDT 尚未推送到生产环境。
当处于开发模式的 LookML 开发者做出的更改会影响 PDT 中的数据或 PDT 的查询方式时,Looker 会创建一个开发 PDT。这些更改会提示 Looker 创建开发 PDT,但 Looker 实际上不会构建 PDT,除非在更改后查询 PDT。开发标签页可帮助您确定 Looker 创建了哪个开发 PDT,以及它们是否已构建。
如需详细了解 Looker 创建开发 PDT 的原因以及开发 PDT 在数据库中的保留时长,请参阅 Looker 中的派生表文档页面。
“资讯一览”部分
资讯一览部分会直观显示 PDT 表格中当前所显示 PDT 的状态。如果您已为表格定义了过滤条件,或者已使用页面顶部所有连接旁边的箭头将表格范围缩小到特定连接,则资讯一览部分会缩小结果范围,以与 PDT 表格中显示的内容一致。
你可以点击资讯一览部分顶部的关闭/打开图标来显示或隐藏该部分。
表列
以下部分介绍了永久性派生表页面上的表列。点击选择要显示的列图标可隐藏或显示表格中的某些列。如需了解详情,请参阅本页面中的自定义表部分。
PDT 名称
PDT 名称列会显示 PDT 的 LookML 视图文件的 view
参数所定义的 PDT 名称。
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 所需的平均时间(以秒为单位)。
持久性规则
Persistence Rule 列会显示应用于 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 项目的名称。
连接
如果从连接选项中选择了 All Connections,系统将显示 Connection 列,并显示已启用 PDT 的连接的名称。
模型
模型列会显示包含 PDT 视图文件的模型文件的名称。
“选项”菜单
三点状选项菜单
在排查意外行为问题时特别有用。通过它提供的选项,您可以检查表的上次构建时间、构建表所花的时间、将最新构建时间与平均构建时间进行比较,以及检查触发器是否正常运行。您可以选择以下选项:- 转到 LookML - 如果您拥有查看 LookML 的相应权限,则会打开定义了 PDT 的视图文件。
- PDT 活动信息中心 - 打开 PDT 活动信息中心。该信息中心已经过过滤,会显示所选 PDT 在过去四周内的活动。
- PDT 详细信息 - 打开一个弹出式窗口,其中包含特定 PDT 的更多信息和统计信息。如需了解详情,请参阅此页面上的 PDT 详细信息模态部分。
如需查看问题排查提示,请参阅 Looker 中的派生表文档页面上的“PDT 监控和问题排查”部分。
PDT 详细信息模态
点击 PDT 的三点状选项菜单
中的 PDT 详细信息选项,以查看 PDT 详细信息模态。模态窗口中的信息取决于 PDT 的配置。您可能会看到以下信息:
- 表名称:最新成功构建的 PDT 的哈希。
- 模型:包含 PDT 视图文件的模型文件的名称。
- 稳定名称:您数据库上的 PDT 稳定数据库视图的名称(如果 PDT 已发布为稳定视图)。您可以将 PDT 作为数据库的稳定视图发布,方法是将
publish_as_db_view: yes
语句添加到派生表中,或使用materialized_view: yes
语句使派生表成为具体化视图。 - Connection:已启用 PDT 的连接的名称。
- 旧版 build:一个布尔值,如果 build 是旧版 PDT build,则显示 Yes;如果不是,则显示 No。
- Table Type:对于旧版本,系统会显示此字段并显示表类型。值包括 Old Generation Table 和 Standin。
- 增量 PDT:一个布尔值,如果 PDT 是增量 PDT,则显示 Yes;如果不是,则显示 No。
- Status:显示上次尝试状态。对于失败的构建,如果用户具有查看 LookML 的相应权限,请提供 SQL 错误消息和指向模型 LookML 的链接。
- 依赖项:点击显示依赖项图表按钮可显示此 PDT 所依赖的所有派生表的关系图。图中的每个节点都对应一个派生表。每个节点的颜色都与派生表的状态相对应,如下所示:
- 上次构建版本:
<ph type="x-smartling-placeholder">
- </ph>
- 最新成功构建:最近一次成功的 PDT 构建的日期和时间。
- 最新构建时长:最近一次 PDT 构建所用的时间(以秒为单位;如果表格尚未构建,则显示 –)。
- 平均构建时长:构建 PDT 的平均时长(以秒为单位;如果相应表尚未构建完毕,则显示 -)。
- 构建原因:构建 PDT 的原因(对于初始构建,则为 inception;如果 PDT 与数据组一起保留,则触发 datagroup;如果 PDT 的 SQL 触发器值发生更改,则触发值更改)。
- 递增键:使用增量 build 的 PDT 的
increment_key
参数。 - 增量偏移:使用增量 build 的 PDT 的
increment_offset
参数。 - 增量构建添加/移除的行数:上次递增表时向表添加或从表中移除的行数(如果在表的保留策略上次触发增量时未添加或移除行,则显示 –)。
- 上次尝试的 SQL:用于查询数据库以创建表的最后一个构建的 SQL。
- 持久性规则:
<ph type="x-smartling-placeholder">
- </ph>
- 类型:表使用的保留类型。请参阅本页面上的“持久性规则”列部分,了解可能的值。
- 永久保留:对于永久类型 PDT,这是保留时长值。不适用于触发器类型的 PDT。
- 数据组:对于数据组触发器 PDT,请提供数据组的名称。
- SQL 代码块:对于数据组和 SQL 触发器 PDT,该代码块会显示触发器的 SQL 语句。对于数据组触发器,这是数据组
sql_trigger
参数的 SQL。对于 SQL 触发器,这是用于sql_trigger_value
参数的 SQL。 - 触发器值:对于触发器类型 PDT,该值是触发 PDT 构建的值(如果使用
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 事件日志探索。从永久性派生表页面访问时,系统会针对特定 PDT 过滤 PDT 事件日志探索。
下面简要介绍了 PDT 事件日志探索中的可用字段:
字段 | 说明 |
---|---|
操作 | 描述发生的操作;这可能包括再生、掉落、创建和收割活动。如需详细了解如何查看和了解 PDT 日志操作及其对应的操作数据,请参阅了解 PDT 日志操作文档页面。 |
操作数据 | 提供关于操作的更多详细信息,包括使用的触发器、触发器的值、永久表的到期时间、重建的原因、错误消息的文本等。如需详细了解如何查看和了解 PDT 日志操作及其对应的操作数据,请参阅了解 PDT 日志操作文档页面。 |
连接 | 存在派生表的连接的名称。 |
哈希 | 每个派生表都包含为创建该表而编写的 SQL 哈希。 |
ID | 生成 PDT 的 Looker 实例的唯一 ID。在许多情况下,只有一个 Looker 实例指向一个数据库,因此您只会看到一个 ID。但是,如果您有预演实例或类似性质的实例,则可能会看到多个 ID。 |
模型名称 | 生成表时所用的模型的名称。 |
发生日期 | 事件发生的日期和时间。 |
出现 Utc 显示日期 | 事件发生的日期和时间,以世界协调时间 (UTC) 表示。 |
序列 | PDT build 中的步骤编号。 |
短哈希 | 为创建派生表而编写的 SQL 哈希的截断版本。 |
表名称 | PDT 的全名,包括表类型前缀、哈希和视图名称。 |
TID | 交易 ID。 |
视图名称 | 派生表的视图名称。 |