使用系统活动探索创建 Looker 使用情况报告

Looker 管理员和已获得 see_system_activity 权限的用户可以在探索菜单中访问 Looker 系统活动探索。

系统活动探索会连接到 Looker 的底层应用数据库。它们会显示您的 Looker 实例的相关信息,包括实例中保存的 Look 和信息中心、用户信息、历史查询信息和实例性能统计信息。系统活动数据的粒度和保留均受系统限制。系统活动旨在收集大量数据,汇总数据可用于补充您的业务日志。

默认情况下,系统活动数据存储在 Looker 的内部数据库中。为了符合存储限制,系统会定期截断大多数表。例如,“历史记录”表格会被截断为过去 90 天的数据。某些表的数据保留政策更为严格。如果想提高数据保留期限,请考虑使用 Elite System Activity

无法使用 SQL Runner 查询系统活动数据,因为 Looker 内部数据库的权限受到限制。

系统活动探索

以下是系统活动探索:

探索名称 说明 缓存时长
内容使用情况 有关 Look 和信息中心使用情况的数据,包括查看频率、收藏、安排、嵌入以及通过 API 进行访问的频率。此外,还包括有关各个 Look 和信息中心的详细信息。 12 小时
数据库连接 数据库连接的相关详细信息。包括有关有权访问数据库连接的用户的信息。 1 小时
信息中心 有关所有信息中心和信息中心元素的详细信息。包括与信息中心关联的 Look、查询、角色、用户和文件夹的相关信息。 12 小时
信息中心性能 信息中心的性能和历史数据。 1 小时
事件 Looker 中与历史事件相关的信息,包括每个事件的名称、类型和频率。包括与活动相关联的群组和用户的相关信息。 1 小时
事件属性 构成事件的属性的相关信息。将数据添加到“活动探索”中,并添加属性信息。 12 小时
字段使用 LookML 字段和使用次数。 1 小时
文件夹 有关所有文件夹、存储在每个文件夹中的内容以及每个文件夹的创建者的信息。 1 小时
实体组 群组列表以及这些群组的详细信息,包括上级和下级群组,以及属于每个群组的用户和角色。 1 小时
历史记录 有关过去 90 天内运行的所有查询的详细信息。 12 小时
Look 有关所有 Look 的详细信息。包括与 Look 关联的信息中心、查询、用户和文件夹的相关信息。 12 小时
合并查询 有关合并查询的信息,包括源查询和合并后查询的字段和其他元素。 1 小时
PDT 版本 有关 PDT 构建的详细信息,包括完成构建所用的时间,以及 PDT 所属的连接和模型。 1 小时
PDT 事件日志 与 PDT 相关的历史事件的信息,包括 PDT 重新构建和错误。

如需详细了解如何查看和了解 PDT 日志操作及其对应的操作数据,请参阅了解 PDT 日志操作文档页面。
12 小时
查询性能指标 从 Looker 实例运行的查询的详细细分。 1 小时
角色 Looker 角色以及构成角色的模型和权限集。 1 小时
SQL 查询 已运行的 SQL 查询,包括运行频率和运行频率,以及运行过这些查询的用户的详细信息。 1 小时
已安排的计划 有关所有预定数据传送的信息,包括之前预定的作业和当前预定的作业。包括与预定的数据传送服务相关的信息中心、Look、查询、文件夹和用户的数据。 12 小时
用户 每位用户的详细信息,包括运行过的历史查询以及用户有权访问的内容和文件夹。 12 小时

请参阅本页面中的使用系统活动探索部分,了解内容使用情况信息中心事件事件属性历史记录Look合并查询PDT 构建、计划构建、SQL 查询、SQL 查询、SQL 查询、事件事件属性历史记录

使用系统 Activity 探索

以下示例说明了如何在“系统活动”中使用一些探索,以及一些常见问题的解答。您可以在本部分访问示例探索,只需将示例网址中的 <instance_name.looker.com> 替换为您的 Looker 实例的地址即可。

API 使用

API 用量探索提供了对 Looker 实例的 API 调用量摘要。

您可以使用 API 使用情况中的探索功能回答如下问题:

如何查看 API 调用的每日审核数据?

您可以使用 API 使用情况探索来检索任意给定时间段内对实例进行的所有 API 调用的列表。如需查看某一天拨打了哪些电话,请按以下步骤操作:

  1. API Usage 中选择 Endpoint
  2. API Usage 中选择 Total Usage
  3. 使用所需的日期过滤 API 使用情况中的创建日期
https://<instance_name.looker.com>/explore/system__activity/api_usage?fields=api_usage.endpoint,api_usage.total_usage&f[api_usage.created_date]=yesterday&sorts=api_usage.total_usage+desc&limit=500&column_limit=50&vis=%7B%7D&filter_config=%7B%22api_usage.created_date%22%3A%5B%7B%22type%22%3A%22advanced%22%2C%22values%22%3A%5B%7B%22constant%22%3A%22yesterday%22%2C%22unit%22%3A%22day%22%7D%2C%7B%7D%5D%2C%22id%22%3A5%2C%22error%22%3Afalse%7D%5D%7D&origin=share-expanded

如需详细了解每个 API 调用的用途,请参阅 Looker API 参考文档Looker API Explorer

今年,我的实例上进行了多少次 API 调用?

您可以使用 API 使用情况中的探索来汇总任何时间范围内的 API 调用次数。例如,您可以生成一份年度报告,显示每月执行的 API 调用次数:

  1. API Usage 中选择创建月份
  2. API Usage 中选择 Total Usage
  3. API 使用情况中按所需年份过滤创建年份
https://<instance_name.looker.com>/explore/system__activity/api_usage?fields=api_usage.total_usage,api_usage.created_month&fill_fields=api_usage.created_month&f[api_usage.created_year]=last+year&sorts=api_usage.created_month+desc&limit=500&column_limit=50&vis=%7B%7D&filter_config=%7B%22api_usage.created_year%22%3A%5B%7B%22type%22%3A%22advanced%22%2C%22values%22%3A%5B%7B%22constant%22%3A%22last+year%22%2C%22unit%22%3A%22yr%22%7D%2C%7B%7D%5D%2C%22id%22%3A6%2C%22error%22%3Afalse%7D%5D%7D&origin=share-expanded

内容使用情况

系统活动中的内容使用情况探索提供了有关 Look 和信息中心使用情况的信息,包括查看频率、收藏、时间安排以及通过 API 进行访问。还包含各个 Look 和信息中心的详细信息。

快速入门分析

内容使用情况探索包含快速入门分析,可用于快速解答问题或作为其他查询的起点。

在空白的“探索”中选择“快速入门”分析图块,或从已运行的“探索”的闪电状快速入门菜单中选择,Looker 会显示一条查询,其中包含预先选择和排序的字段,以回答以下某个问题:

  • 哪些内容的收藏次数最多?
  • 在过去 3 天内访问过哪些内容?
  • 哪些内容在过去 60 天内未被访问过?
  • 用户最常使用 Looker API 访问哪些内容?
  • 过去 7 天创建的哪些信息中心的使用频率最高?
  • 过去 7 天创建的哪些 Look 使用最多?
  • 哪些面板的收藏次数最多?
  • 哪些内容的查看次数最多?

您可以使用内容使用情况探索功能查找您的实例中最热门的 Look 或信息中心。然后,您可以使用历史记录探索功能来确定热门 Look 或信息中心使用的过滤条件。如需查找最热门的 Look 或信息中心,请执行以下操作:

  1. 内容使用情况探索中,从内容使用情况视图中选择 Content ID内容标题内容类型
  2. 内容使用情况视图中添加内容类型过滤条件,然后将过滤条件值设置为 dashboard OR look
  3. 内容使用情况中选择查看总计。您还可以在内容使用情况视图中选择收藏夹总计时间表总计API 总计嵌入总计等字段。
  4. View Total(查看总计)中按降序对结果进行排序,即可列出最热门的内容。
  5. 您还可以从内容使用情况视图中的距离上次访问的天数字段中添加过滤条件,将数据限制在特定的时长范围内。例如,您可以将过滤条件值设置为 is less than 30,从而仅显示过去 30 天的数据。

然后,您可以使用历史记录探索功能查找特定 Look 或信息中心使用的过滤条件:

  1. 历史记录探索中,从信息中心视图或 Look 视图中按 ID 字段进行过滤,然后输入您使用内容使用情况探索功能确定的信息中心或 Look 的 ID。
  2. 查询视图中选择过滤条件,以返回您要根据其进行过滤的信息中心或 Look 使用的过滤条件列表。

信息中心

信息中心探索包含有关信息中心和信息中心元素的详细信息,包括与信息中心相关联的 Look、查询、角色、用户和文件夹。

快速入门分析

信息中心“探索”部分包含快速入门分析,可用于快速解答问题或作为其他查询的起点。

在空白的“探索”中选择“快速入门”分析图块,或从已运行的“探索”的闪电状快速入门菜单中选择,Looker 会显示一条查询,其中包含预先选择和排序的字段,以回答以下某个问题:

  • 哪些信息中心使用多个探索?
  • 哪些信息中心的自动刷新间隔时间较短?
  • 有多少个信息中心设置为在加载时运行
  • 哪些数字面板拥有超过 25 个板块?
  • 哪些信息中心使用的合并查询最多?
  • 哪些信息中心使用特定视图或字段?
  • 哪些文件夹包含哪些信息中心?
  • 各个数字面板由哪些板块组成?

事件

事件探索包含有关 Looker 中历史事件的信息,包括每个事件的名称、类型和频率。此探索还包含与活动相关的群组和用户的信息。

以下是事件探索的一些常见用途:

如需详细了解如何查看事件和常见事件属性以及事件类型列表,请参阅 Looker 事件文档页面。

如何查找 API 请求并对其进行分类?

您可以使用活动探索来查看发出的所有 API 请求,并对这些请求进行分类:

  1. 事件视图中,选择名称类别字段。
  2. 添加 Is API Call (Yes / No) 过滤条件,并将过滤条件值设置为 Yes
  3. 此外,您还可以从事件中选择创建日期以及从用户中选择名称等字段,以了解有关特定 API 请求的信息。
https://<instance_name.looker.com>/explore/system__activity/event?fields=event.created_date,event.name,event.category,user.name&f[event.is_api_call]=Yes&sorts=event.name&limit=500

是否有办法调查内容更新?

您可以使用活动“探索”功能按包含“update”一词的事件进行过滤,以调查内容更新:

  1. 事件视图中选择名称
  2. 事件视图中的名称字段上添加过滤条件,并将过滤条件值设置为 contains update
  3. 您还可以选择其他字段以提供有关每项内容更新的更多信息,例如事件中的创建时间以及用户中的 ID
https://<instance_name.looker.com>/explore/system__activity/event?fields=event.name,user.id,event.created_time&f[event.name]=%25update%25&sorts=event.created_time+desc&limit=500

如何查看登录事件?

您可以使用活动探索来确定哪些用户通过登录事件登录了系统。例如:

  1. 事件视图中的名称字段上添加过滤条件,并将过滤条件值设置为 login
  2. 用户视图中选择 ID名称
  3. 事件视图中,选择创建时间

事件属性

事件属性探索包含事件探索中的数据,并提供了有关构成事件的属性的更多信息。

以下是事件属性探索的一些常见用途:

如需详细了解如何查看事件、常见事件属性和事件类型列表,请参阅 Looker 事件文档页面。

如何查看权限更改?

您可以使用事件属性“探索”来查看权限更改。例如,您可以查看某个权限的更改时间以及更改者:

  1. 事件视图中选择创建时间名称,设置更改时间和事件类型。
  2. 事件属性中选择名称,即可返回关于所做更改的类型以及权限已更改的用户或具体权限已更改的信息。
  3. 用户中选择 ID 和任何其他所需字段,了解进行更改的用户的相关信息。
  4. 在“事件”视图中对“名称”进行过滤,将值设置为 user_permission_elevation
https://<instance_name.looker.com>/explore/system__activity/event_attribute?fields=event.created_time,user.id,user.name,event_attribute.name,event_attribute.value&f[event.name]=%22user_permission_elevation%22&sorts=event.created_time+desc&limit=500

如何跟踪 Labs 功能何时启用?

您可以使用事件属性“探索”来跟踪何时启用了实验室功能。例如,选择以下字段:

  1. 事件字段中选择创建时间
  2. 事件属性字段中选择名称
  3. 添加“事件”中的“名称”过滤条件,并将过滤条件值设置为 update_labs_feature
  4. 您还可以添加用户中的 ID名称等字段,以查看启用了实验室功能的用户的相关信息。

在本例中,当事件属性中的名称的值为 labs_feature_id 时,已启用或停用的实验室功能的名称会显示在事件属性字段中。如果事件属性中的名称值为 labs_feature_value,则值 truefalse 表示实验室功能是否已启用。

https://<instance_name.looker.com>/explore/system__activity/event_attribute?fields=event.created_time,event_attribute.name,event_attribute.value,user.id&f[event.name]=%22update_labs_feature%22&sorts=event.created_time+desc&limit=500

项目名称是何时更改的?

您可以使用事件属性“探索”功能查看项目名称的变更时间:

  1. 事件视图中,选择创建时间名称
  2. 事件属性中选择名称
  3. 添加针对“事件”视图中的“名称”的过滤条件,并将过滤条件值设置为 rename_project_file
https://<instance_name.looker.com>/explore/system__activity/event_attribute?fields=event.created_time,event.name,event_attribute.name,event_attribute.value&f[event.name]=%22rename_project_file%22&sorts=event.created_time+desc&limit=500&query_timezone=America%2FLos_Angeles&vis=%7B%7D&filter_config=%7B%22event.name%22%3A%5B%7B%22type%22%3A%22%3D%22%2C%22values%22%3A%5B%7B%22constant%22%3A%22rename_project_file%22%7D%2C%7B%7D%5D%2C%22id%22%3A0%2C%22error%22%3Afalse%7D%5D%7D&origin=share-expanded

历史记录

历史记录探索可提供各个查询的记录。它提供了过去 90 天内在您的实例上运行的所有查询的详细信息,这对于问题排查非常有用。

以下是关于使用历史记录探索的一些常见问题:

截断历史记录表

由于 History 表的大小可能会快速增加,因此 Looker 会自动删除满足以下任一条件的记录:

  • history.created_time是过去 90 天之前。
  • history.created_time是过去 7 天之前,而history.sourcescheduled_task

对选定字段的说明

历史记录探索中的每个字段都有一个说明,可帮助您了解各个字段的用途。下表包含关于客户经常问及的特定字段的更详细的说明:

字段名称 说明 可能的值
来源 查询的来源,例如 Look、探索、计划任务、提醒、信息中心等。
  • alerts:查询是从提醒发起的。
  • api:查询是使用 Looker API 发起的。
  • api3:查询是使用 Looker API 发起的。
  • authenticated_download:查询是使用 Looker Action Hub 按计划执行的 [流式操作](/looker/docs/downloading#streaming_query_results)。
  • dashboard:查询是从信息中心启动的。(查询可能是通过界面、API 或计划任务发起的。)
  • dashboard_prefetch:查询是通过信息中心预提取启动的。
  • data-download-api:此查询是从CSV 格式的信息中心下载发起的。
  • drill_modal:在用户深入研究数据时启动查询。
  • explore:查询是从探索发起的。(查询可能是通过界面或 API 发起的)
  • guided_analysis:查询是使用系统活动中的引导式分析实验室功能创建的。
  • internal:查询由 Looker 运行,以检索元数据供内部使用。
  • look:查询是从 Look 发起的。(查询可能是通过界面、API 或计划任务发起的。)
  • merge_query:查询是从合并查询发起的。
  • private_embed:查询是从不公开嵌入发起的。
  • public_url:查询是从启用了公开访问权限的 Look 发起的。
  • regenerator:查询由 PDT 重新生成器启动。
  • render_manager_cache:查询是通过下载 PDF 或 PNG 格式的文件发起的。它可以是 Look 或信息中心。
  • scheduled_task:查询是按时间表运行的,并生成了 PDF 文件。(此来源不包括非 PDF 格式(例如 CSV 文件)的定期提交的内容。)
  • sql_interface:查询由第三方应用使用开放式 SQL 接口启动。
  • sqlrunner:查询是从 SQL Runner 启动的。
  • suggest:查询是作为过滤器建议查询创建的。
颁发者来源 查询的来源(分桶)。
  • Action Hub:查询是使用 Looker Action Hub 发起的。这包括来源authenticated_download
  • API:查询是使用 Looker API 发起的。这包括来源api3
  • 系统:查询由 Looker 启动,无需用户直接干预。这包括来源alertsdata-download-apischeduled_task
  • 用户:查询由 Looker 用户发起。其中包括来源dashboarddrill_modalexplorelookmerge_queryprivate_embedrender_managersqlrunnersuggest
  • 其他:该查询不适用于任何其他分桶。这包括来源internal
状态 历史记录事件的当前状态。
  • cache_only_miss:查询是通过 cache_only=TRUE 选项运行的,且缓存条目不存在。
  • complete:查询已成功完成。
  • error:查询因错误而失败。添加 Message 字段可查看错误详情。
  • killed:查询已被用户、数据库或 Looker 取消。
查询运行计数 此字段通过过滤掉状态字段值为 cache_only_miss 的历史记录条目来统计查询运行次数。也就是说,此字段仅包含 Status(状态)字段的值为 completeerrorkilled 的历史记录条目。 一个正整数。

快速入门分析

历史记录探索包含快速入门分析,可用于快速解答问题或作为其他查询的起点。

在空白的“探索”中选择“快速入门”分析图块,或从已运行的“探索”的闪电状快速入门菜单中选择,Looker 会显示一条查询,其中包含预先选择和排序的字段,以回答以下某个问题:

  • 哪些查询来源在过去一天最活跃?
  • 过去一周哪些用户最活跃?
  • 哪个用户的信息中心最受欢迎?
  • 在过去 30 天内,某个信息中心被使用了多少次?
  • 最近运行的查询有哪些?
  • 过去 30 天内某个 Look 使用了多少次?
  • 各个模型的平均查询运行时是多少?
  • 特定用户的近期查询活动是什么?

信息中心使用的所有模型有哪些?

您可以使用历史记录探索来查找信息中心使用的所有模型。例如,当用户无法在信息中心查看数据时,这有助于识别用户需要权限的模型。

  1. 信息中心视图中,选择 ID(包含)
  2. 查询视图中,选择模型计数
  3. ID(包含)过滤,输入要作为过滤条件的信息中心的信息中心 ID。

在以下网址示例中,您可以将过滤条件元素 f[history.real_dash_id]=123 中的信息中心 ID 123 替换为要用作过滤条件的信息中心的 ID:

https://<instance_name.looker.com>/explore/system__activity/history?fields=history.real_dash_id,query.model,query.count&f[history.real_dash_id]=123&sorts=history.real_dash_id+desc&limit=500

如何识别长时间运行的查询?

假设您要为长时间运行的查询创建提醒。例如,您可以使用历史记录探索功能查找运行时间最长的查询:

  1. 查询中选择 ID链接
  2. 历史记录中选择平均运行时(秒)查询运行次数,以查看每个查询运行的平均时长以及该查询的运行次数。
  3. 您可以在历史记录中添加针对完成日期的过滤条件,并将过滤条件值设置为 is in the past 7 days 之类的时间范围,以限制显示的结果。
  4. 添加 Is Single Query (Yes/No)(是单个查询(是/否))过滤条件,并将其值设置为 is Yes,以从结果中排除合并查询。
  5. 您可以仅显示运行时高于特定阈值(例如 5 分钟)的查询;为此,您可以过滤平均运行时(秒),并将过滤条件值设置为 is greater than 300
  6. 根据历史记录中的平均运行时(秒)按降序排序,将平均运行时最长的查询列在最前面。

然后,您可以将该查询保存为 Look 并创建提醒,以便在某些查询的运行时数超过您指定的阈值时向您发出通知。

在以下网址示例中,您可以将过滤条件元素 f[history.created_date]=7+days 中的 7+days 替换为所需的过滤条件值,从而更改结果显示的时间范围。您还可以通过将过滤器元素 f[history.average_runtime]=%3E300 中的所需秒数替换 is greater than 300,更改平均运行时(秒)的过滤器值。

https://<instance_name.looker.com>/explore/system__activity/history?fields=query.id,history.average_runtime,history.query_run_count,query.link&f[history.is_single_query]=Yes&f[history.created_date]=7+days&f[history.average_runtime]=%3E300&sorts=history.average_runtime+desc&limit=500

上次有人使用 SQL Runner 是什么时候?

如需确定特定用户上次使用历史记录探索运行 SQL Runner 查询的时间,请执行以下操作:

  1. SQL Runner Query 视图中,选择 Last Run TimeUser ID
  2. SQL Runner 查询视图中添加针对用户 ID 的过滤条件,并将过滤条件值设置为用户的 ID。
https://<instance_name.looker.com>/explore/system__activity/history?fields=sql_query.last_run_time,sql_query.user_id&sorts=sql_query.last_run_time+desc&limit=500&column_limit=50

如何查找被数据库终止的查询?

如需使用历史记录探索功能查找被数据库终止的查询,请执行以下操作:

  1. 历史记录添加针对消息的过滤条件,并将过滤条件值设置为 contains query killed
  2. 历史记录中选择创建日期ID消息
  3. 查询中选择 ID
https://<instance_name.looker.com>/explore/system__activity/history?fields=history.id,history.created_date,query.id,history.message&f[history.message]=%25query+killed%25&sorts=history.message&limit=500

信息中心“探索”部分会列出过去 90 天内访问过的每个信息中心的标题,以及其中每个信息中心的访问次数:

  1. 信息中心选择标题
  2. History(历史记录)中选择 Query Run Count(查询运行计数)。
  3. 信息中心添加针对“Title”的过滤条件,并将过滤条件值设置为 is not null
https://<instance_name.looker.com>/explore/system__activity/history?fields=dashboard.title,history.query_run_count&f[dashboard.title]=-NULL&sorts=history.query_run_count+desc&limit=500&column_limit=50

此“探索”会显示过去 90 天内每个角色在您的实例上运行“探索”的次数:

  1. 查询中选择探索
  2. 用户角色中选择并转换名称
  3. History(历史记录)中选择 Query Run Count(查询运行计数)。
  4. 用户角色中添加针对名称的过滤条件,并将过滤条件值设置为 is not null
https://<instance_name.looker.com>/explore/system__activity/history?fields=history.query_run_count,query.view,role.name&pivots=role.name&f[role.name]=-NULL&sorts=history.query_run_count+desc+0,role.name&limit=500&column_limit=50

在过去 90 天内,是否有人查询过特定探索?

您可以使用历史记录探索来确定过去 90 天内是否使用了特定探索:

  1. 历史记录中选择创建日期
  2. 查询中选择探索关联
  3. 探索(基于查询)上添加过滤器,然后输入探索名称。

在过去 90 天内,是否有人使用过特定视图中的字段?

您可以使用历史记录探索来确定过去 90 天内是否使用了特定数据视图中的任何字段:

  1. 历史记录中选择创建日期
  2. 查询中选择探索关联
  3. 对“查询”中的“已使用的字段”进行过滤,输入视图名称,后跟英文句点(例如,“orders.”),然后选择“包含”作为过滤条件。过滤器中的句点可确保结果仅返回来自该数据视图的字段,而不返回来自名称相似的数据视图的字段。

在以下网址示例中,您可以将过滤器元素 f[query.formatted_fields]=%25order%5E_items. 中的 order%5E_items. 替换为要过滤的视图的名称,后跟句点:

https://<instance_name.looker.com>/explore/system__activity/history?fields=history.created_date,query.view,query.link&f[query.formatted_fields]=%25order%5E_items.%25&sorts=history.created_date+desc&limit=500&column_limit=50

哪些查询是在 Google 表格中发起的?

借助历史记录探索功能,您可以使用 Looker 关联工作表功能查看在 Google 表格中生成的查询列表:

  1. 历史记录创建日期组中选择日期时段
  2. 历史记录Query API 客户端属性组中,选择 API 客户端名称关联工作表电子表格 ID关联工作表触发器
  3. 用户中选择名称
  4. 历史记录Query API 客户端属性组中,按关联工作表电子表格 ID 进行过滤,然后将值设置为 is not null
https://<instance_name.looker.com>/explore/system__activity/history?fields=query_api_client_context.name,query_api_client_context.cs_spreadsheet_id,query_api_client_context.cs_trigger,user.name,history.created_date,history.created_time_of_day&f[query_api_client_context.cs_spreadsheet_id]=-NULL&sorts=history.created_time_of_day+desc&limit=5000

Look

Look 探索包含有关所有 Look 的详细信息,包括与 Look 关联的信息中心、查询、用户和文件夹的相关信息。

以下是关于使用 Look 探索的一些常见问题:

哪些 Look 是公开分享的?

您可以使用 Look 中的“探索”来查看哪些 Look 正被公开分享或启用了公开网址。

  • Look 中按 Public (Yes / No) 过滤,并将过滤条件值设置为 Yes
  • Look 中选择 IDNameLink
https://<instance_name.looker.com>/explore/system__activity/look?fields=look.id,look.title,look.link&f[look.public]=Yes&limit=500

特定 Look 的创建者是谁?

如需查找特定 Look 的作者,请执行以下操作:

  1. Look 中过滤 ID,并将值设置为 Look 的 ID。
  2. 用户中选择 ID名称
  3. 您还可以从 Look 中选择 Created DateTitle 等字段。

哪些 Look 已被删除?

如需查看所有已删除 Look 的列表,请执行以下操作:

  1. Look 中选择 IDTitleLinkDelete Date
  2. Look 中添加针对删除日期的过滤条件,并将过滤条件值设置为 is not null
https://<instance_name.looker.com>/explore/system__activity/look?fields=look.id,look.title,look.link,look.deleted_date&f[look.deleted_date]=NOT+NULL&sorts=look.title&limit=500&column_limit=50

合并查询

合并查询探索中包含已合并查询的相关信息,包括源查询和已合并查询的字段和其他元素。

您可以使用合并查询探索功能回答如下问题:

哪些探索的合并频率最高?

您可以使用合并查询探索找出哪些探索最常合并,并考虑联接这些表格以获得更好的性能和更多功能。

  1. 查询中选择探索
  2. 合并查询来源查询中选择计数
https://<instance_name.looker.com>/explore/system__activity/merge_query?fields=query.view,merge_query_source_query.count&sorts=merge_query_source_query.count+desc&limit=500&query_timezone=America%2FLos_Angeles&vis=%7B%7D&filter_config=%7B%7D&origin=share-expanded

PDT 版本

PDT 构建探索包含有关 PDT 构建的信息,包括完成构建所用的时间以及 PDT 所属的连接和模型。

以下是 PDT build 探索的一些常见用途:

在同时运行多个 PDT 的实例上运行这些查询可能需要更长时间。

如何查看 PDT 构建时间?

您可以使用 PDT 版本探索来查看 PDT 的构建时间。例如,如需查看过去 2 天的 PDT 构建时间,请运行以下命令:

  1. PDT Builds 视图中添加对 Start Time 的过滤条件,并将其值设置为 is in the past 2 days
  2. PDT 构建视图中,选择开始时间视图名称连接模型名称所用时间所用秒数
https://<instance_name.looker.com>/explore/system__activity/pdt_builds?fields=pdt_builds.start_time,pdt_builds.view_name,pdt_builds.connection,pdt_builds.model_name,pdt_builds.elapsed_minutes,pdt_builds.elapsed_seconds&f[pdt_builds.start_time]=2+days&sorts=pdt_builds.start_time+desc&limit=500

如何确定要针对长时间运行的 PDT 发出提醒?

您可以使用 PDT build 探索来识别长时间运行的 PDT。然后,您可以将查询保存为 Look,并创建提醒,以便在 PDT 的构建时间超出您指定的阈值时通知您。

例如,如需查看平均构建时间超过 30 分钟的 PDT,请运行以下命令:

  1. PDT Builds 视图中添加 Average Build Time Minutes 过滤条件,并将其值设置为 is greater than 30
  2. PDT Builds 视图中,选择 View NameConnectionAverage Build Time Minutes

如需更改 PDT 构建中“平均构建时间分钟数”过滤器的值,请将过滤器元素 f[pdt_builds.average_build_time_minutes]=%3E20 中的 30 替换为所需的分钟数:

https://<instance_name.looker.com>/explore/system__activity/pdt_builds?fields=pdt_builds.view_name,pdt_builds.connection,pdt_builds.average_build_time_minutes&f[pdt_builds.average_build_time_minutes]=%3E30&sorts=pdt_builds.average_build_time_minutes+desc&limit=500

查询性能指标

查询性能指标“探索”部分提供了从 Looker 实例运行的每个查询的详细细分。

例如,您可以使用此“探索”来调查查询的哪些组件的加载时间最长。您还可以使用此探索来确定查询效果趋势和异常。如需详细了解查询生命周期以及此探索中跟踪的字段,请参阅了解查询性能指标文档页面。

快速入门分析

查询性能探索包含快速入门分析,可用于快速解答问题或作为其他查询的起点。

在空白的“探索”中选择“快速入门”分析图块,或从已运行的“探索”的闪电状快速入门菜单中选择,Looker 会显示一条查询,其中包含预先选择和排序的字段,以回答以下某个问题:

  • 每个查询阶段花费了多少时间?
  • 哪些探索的平均主查询执行时间最长?
  • 哪些用户的平均主查询执行时间最长?
  • 一天中哪些时间的异步工作器时间最长?
  • 一天中的哪些时间的查询初始化时间最长?
  • 一天中哪些时段的连接处理时间最长?
  • 一天中哪些时段的主要查询时间最长?
  • 一天中哪些时段的查询后耗时最长?

SQL 查询

SQL 查询探索包含有关已运行的 SQL 查询的信息,包括运行频率和最近运行频率,以及已运行这些查询的用户的详细信息。

您可以使用 SQL 查询探索回答如下问题:

哪些用户运行 SQL 查询的次数最多?

您可以使用 SQL 查询“探索”来确定运行 SQL Runner 查询次数最多的用户:

  1. 用户中选择 ID名称
  2. SQL Runner Query 中选择 Count
  3. SQL Runner Query 中的 Count 列降序排列,以列出运行查询次数最多的用户。
https://<instance_name.looker.com>/explore/system__activity/sql_query?fields=sql_query.count,user.id,user.name&sorts=sql_query.count+desc&limit=500

已安排的计划

已安排的计划探索包含与所有已安排的数据传送相关的信息,包括先前已安排的作业和目前安排的作业。

以下是关于使用已安排时间的“探索”功能的一些常见问题:

如何在同一时区中查看已安排的计划?

由于“系统活动”采用系统时区存储基于时间的数据存储,因此您可以使用已安排的计划以一致的时区查看已安排的所有计划:

  1. 已安排的计划中选择 ID名称下一个运行时,即可查看每个已安排的计划(采用系统时区)的下一个运行时。
  2. 用户中选择 ID名称,以查看创建该时间表的用户。
  3. 选择运行一次(是/否)作为过滤条件,然后将过滤条件值设置为 No,以排除仅发送一次(例如,Look 提交)或作为一次性测试发送的提交内容(例如 Look 提交测试)的提交内容。
  4. 您还可以从已安排的计划视图中添加 Cron 时间表时区等字段。
https://<instance_name.looker.com>/explore/system__activity/scheduled_plan?fields=scheduled_plan.id,scheduled_plan.name,user.id,scheduled_plan.next_run_time,scheduled_plan.cron_schedule,scheduled_plan.timezone,user.name&f[scheduled_plan.run_once]=No&sorts=scheduled_plan.timezone+desc&limit=500&column_limit=50

日程安排会在哪个阶段卡住?

您可以使用已安排的计划中的“探索”工具来确定时间表卡在哪个阶段。例如:

  1. 如需查看特定预定作业在哪个阶段卡住,请过滤预定作业中的 ID,并将过滤条件值设置为预定作业的 ID。 从计划作业阶段中选择阶段计划作业 ID运行时(秒)
  2. 您还可以从计划作业阶段中选择开始时间完成时间

然后,您可以根据预定作业是否卡在 execute 阶段或 enqueued for delivery 阶段,使用 IDRuntime in Seconds 字段对失败的作业进行问题排查。

在以下网址示例中,您可以将过滤条件元素 &f[scheduled_job.id]=12913 中的计划作业 ID 12913 替换为要过滤的计划作业的 ID:

https://<instance_name.looker.com>/explore/system__activity/scheduled_plan?fields=scheduled_job_stage.stage,scheduled_job_stage.scheduled_job_id,scheduled_job_stage.runtime,scheduled_job_stage.started_time,scheduled_job_stage.completed_time&f[scheduled_job.id]=12913&sorts=scheduled_job_stage.scheduled_job_id+desc&limit=500

如何查找时间表所有者?

您可以使用已安排的方案“探索”功能来查找时间表所有者:

  1. 已安排的计划中选择 ID名称
  2. 用户中选择 ID名称
  3. 选择运行一次(是/否)作为过滤条件,然后将过滤条件值设置为 No,以排除仅发送一次(例如,Look 提交)或作为一次性测试发送的提交内容(例如 Look 提交测试)的提交内容。
  4. 如需查找特定时间表的所有者,请按已安排的计划中的 ID 进行过滤,然后将过滤条件值设置为该时间表的 ID。
https://<instance_name.looker.com>/explore/system__activity/scheduled_plan?fields=scheduled_plan.id,scheduled_plan.name,user.id,user.name&f[scheduled_plan.run_once]=No&sorts=scheduled_plan.id&limit=500

哪些已安排的计划会同时运行?

您可以使用已安排的方案“探索”来确定安排同时运行的方案:

  1. 已安排的计划中选择 ID名称Cron 时间表下次运行时间
  2. 选择运行一次(是/否)作为过滤条件,然后将过滤条件值设置为 No,以排除仅发送一次(例如,Look 提交)或作为一次性测试发送的提交内容(例如 Look 提交测试)的提交内容。
  3. 您还可以添加下次运行时间过滤条件,并将过滤条件值设置为 is not null,以便在结果中仅包含现有的已安排的投放。

然后,您可以更改时间表(例如,提交 Look)的时间,这样多个时间表就不会同时运行。

https://<instance_name.looker.com>/explore/system__activity/scheduled_plan?fields=scheduled_plan.id,scheduled_plan.name,scheduled_plan.cron_schedule,scheduled_plan.next_run_time&f[scheduled_job.run_once]=No&f[scheduled_plan.next_run_time]=NOT+NULL&sorts=scheduled_plan.id&limit=500

哪些时间表没有限制?

您可以使用已安排的计划中的“探索”功能查找不限数量的时间表或行数上限为 -1 的时间表:

  1. 发送所有结果进行过滤,然后将值设置为
  2. 计划作业中选择 ID创建时间最终时间计数
https://<instance_name.looker.com>/explore/system__activity/scheduled_plan?fields=scheduled_job.id,scheduled_job.created_time,scheduled_job.finalized_time,scheduled_job.count&f[scheduled_plan.send_all_results]=Yes&sorts=scheduled_job.created_time+desc&limit=500

可以查看 50 个以上时间表的历史记录吗?

使用已安排的计划“探索”功能,您不仅可以在时间表记录管理页面上查看 50 个时间表,还可以查看这些时间表的历史记录。例如:

  1. 已安排的计划中选择 ID
  2. 用户中选择名称,查看每个时间表的创建者。
  3. 计划作业中选择 Cron 计划,以 Cron 字符串形式查看每个计划作业的计划交付时间。
  4. Schedule Plan Destination 中选择 Type 以查看目的地类型(例如,Look 投放)。
  5. 预定作业中选择 ID状态状态详情,查看每个预定作业的状态和错误消息。
  6. 计划作业中选择创建时间最终时间
  7. 计划作业阶段中选择运行时(以秒为单位)
  8. 您还可以从 Look 视图或 信息中心视图中选择关联,以获取时间表或信息中心的链接。
  9. 要将结果限制为特定时间范围,请从计划作业添加创建日期过滤条件,然后将过滤条件值设置为所需的时长,例如 is in the past 7 days
  10. 选择运行一次(是/否)作为过滤条件,然后将过滤条件值设置为 No,以排除仅发送一次(例如,Look 提交)或作为一次性测试发送的提交内容(例如 Look 提交测试)的提交内容。
https://<instance_name.looker.com>/explore/system__activity/scheduled_plan?fields=scheduled_plan.id,user.name,scheduled_job.cron_schedule,scheduled_plan_destination.type,scheduled_job.id,scheduled_job.status,scheduled_job.status_detail,scheduled_job.created_time,scheduled_job.finalized_time,scheduled_job_stage.runtime,look.link,dashboard.link&f[scheduled_plan.run_once]=No&f[scheduled_job.created_date]=7+days&sorts=scheduled_job.created_time+desc&limit=500

如何过滤出一组特定的时间表?

您可以使用已安排的方案探索,通过过滤(例如按特定的信息中心、所有者或模型)仅查看一组特定的时间表。例如,如需查看基于特定模型(例如 thelook)的时间表列表,请运行以下命令:

  1. Query 视图中,针对 Model 添加过滤条件,并将过滤条件值设置为模型的名称。
  2. 已安排的计划中选择 ID名称
  3. 用户中选择名称,查看每个时间表的创建者。
  4. 计划计划中选择 Cron 计划,以 Cron 字符串形式查看每个时间表的计划交付时间。
  5. 您还可以从 Look 视图或 信息中心视图中选择关联,以获取时间表或信息中心的链接。
  6. 选择运行一次(是/否)作为过滤条件,然后将过滤条件值设置为 No,以排除仅发送一次(例如,Look 提交)或作为一次性测试发送的提交内容(例如 Look 提交测试)的提交内容。

在以下网址示例中,您可以将过滤条件元素 f[query.model]=thelook 中的模型名称 thelook 替换为要用作过滤条件的模型的名称:

https://<instance_name.looker.com>/explore/system__activity/scheduled_plan?fields=scheduled_plan.id,scheduled_plan.name,user.name,scheduled_plan.cron_schedule,look.link,dashboard.link&f[scheduled_plan.run_once]=No&f[query.model]=thelook&sorts=scheduled_plan.id&limit=500

“已安排的计划探索”功能的另一个用例是确定各个时间表的错误趋势,例如,发现 SFTP 时间表失败,并显示特定的错误消息:

  1. 计划作业中选择创建时间最终时间ID状态状态详情,查看已安排的作业列表及其状态和错误消息。
  2. schedule Job Stage 中选择 Stage
  3. 已安排的方案目的地中选择 TypeFormat,以查看目的地类型(例如,Look 的提交)和数据格式(例如 Look 的提交)。
  4. 预定作业中的状态进行过滤,并将过滤条件值设置为 failure,以便仅包含失败的预定作业。
  5. 若要仅包含特定目的地的结果,请根据计划旅行目的地中的 Type 字段进行过滤,并将过滤条件值设置为所需的目的地,例如 sftpemail
https://<instance_name.looker.com>/explore/system__activity/scheduled_plan?fields=scheduled_job.created_time,scheduled_job.finalized_time,scheduled_job.id,scheduled_job.status,scheduled_job.status_detail,scheduled_job_stage.stage,scheduled_plan_destination.type,scheduled_plan_destination.format&f[scheduled_job.status]=failure&sorts=scheduled_job.status&limit=500&column_limit=50

如何查看时间表的运行时指标?

您可以使用已安排的计划中的“探索”功能来研究时间表的运行时指标。例如,如需查看时间表的平均运行时,请执行以下操作:

  1. 已安排的计划中选择 ID名称
  2. 用户中选择名称
  3. 已安排的计划中选择 Cron 时间表
  4. 计划作业阶段中选择平均运行时(秒)
  5. 选择运行一次(是/否)作为过滤条件,然后将过滤条件值设置为 No,以排除仅发送一次(例如,Look 提交)或作为一次性测试发送的提交内容(例如 Look 提交测试)的提交内容。
https://<instance_name.looker.com>/explore/system__activity/scheduled_plan?fields=scheduled_plan.id,scheduled_plan.name,user.name,scheduled_plan.cron_schedule,scheduled_job_stage.avg_runtime&f[scheduled_plan.run_once]=No&sorts=scheduled_plan.id&limit=500

如需查看预定作业的运行时,请执行以下操作:

  1. 如需查看特定计划中所有作业的运行时,请在已安排的计划中添加针对 ID 的过滤条件,然后将过滤条件值设置为所需的已安排的计划 ID。
  2. 已安排的计划中选择 ID
  3. 用户中选择名称
  4. 已安排的计划中选择 Cron 时间表
  5. 计划作业中选择 ID状态创建时间最终时间
  6. 计划作业阶段中选择运行时(以秒为单位)
  7. 选择运行一次(是/否)作为过滤条件,然后将过滤条件值设置为 No,以排除仅发送一次(例如,Look 提交)或作为一次性测试发送的提交内容(例如 Look 提交测试)的提交内容。

若要更改以下网址示例中已安排的计划ID 过滤条件,请将过滤条件元素 f[scheduled_plan.id]=145 中的 145 替换为您要用作过滤条件的已安排的计划的 ID:

https://<instance_name.looker.com>/explore/system__activity/scheduled_plan?fields=scheduled_plan.id,user.name,scheduled_job.cron_schedule,scheduled_job.id,scheduled_job.status,scheduled_job.created_time,scheduled_job.finalized_time,scheduled_job_stage.runtime&f[scheduled_plan.run_once]=No&f[scheduled_plan.id]=145&sorts=scheduled_job.created_time+desc&limit=500

用户

用户探索包含每位用户的详细信息,包括运行的历史查询,以及用户有权访问的内容和文件夹。

快速入门分析

“用户探索”部分包含快速入门分析,可用于快速解答问题或作为其他查询的起点。

在空白的“探索”中选择“快速入门”分析图块,或从已运行的“探索”的闪电状快速入门菜单中选择,Looker 会显示一条查询,其中包含预先选择和排序的字段,以回答以下某个问题:

  • 有多少已启用的用户拥有查看者权限 (access_data)?
  • 哪些用户在过去 7 天内的预定作业失败次数超过 3 次?
  • 特定用户上一次登录是什么时候?
  • 哪些用户最活跃?
  • 哪些用户超过 90 天未登录?
  • 哪些用户的访问权限被停用?
  • 哪些用户拥有开发者权限 (develop)?
  • 每个角色有多少用户?

如何查看哪些 Google 人员访问了我的实例?

除了支持访问权限页面中的最近访问面板之外,您还可以查看哪些 Google 员工访问过您的实例的相关信息。例如,如需查看哪些 Google 员工访问您的实例、他们访问您实例的分钟数以及运行的查询数,请运行以下代码:

  1. 用户中选择名称
  2. 历史记录中选择大致的网站使用情况(分钟)查询计数 > 查询运行次数
  3. 历史记录中过滤创建日期 > 日期,然后将值设置为您希望 Google 员工查看哪个时间段的访问权限。
  4. 历史记录中按来源 > 来源过滤,并将值设置为 is not equal to scheduled_task 以消除任何计划任务。
  5. User Facts 中过滤 User Permissions > Is Looker Employee (Yes / No),并且将值设置为 is Yes 以仅查看 Google 员工。
https://<instance_name>/explore/system__activity/user?fields=user.name,history.approximate_usage_in_minutes,history.query_run_count_drill&f[user.is_disabled]=No&f[history.created_date]=70+days&f[history.source]=-%22scheduled_task%22&f[user_facts.is_looker_employee]=Yes

System Activity Labs 功能中的引导式分析

借助引导式分析,已被授予 see_system_activity 权限的 Looker 管理员和用户可以采用问答格式在历史记录探索中快速回答有关实例使用情况的关键问题。为了让用户能够使用引导式分析,管理员必须启用“系统活动”中的“引导式分析” 实验室功能

引导式分析包括预填充的字段、值和可供选择的选项,以及显示所选指标的可视化图表。

可视化类型由 Looker 选择,以便最好地显示所选数据,且无法更改。

目前,用户可以通过历史记录中的“探索”部分访问多个引导式分析选项:

  • 您实例中哪些用户最活跃?- 了解谁从实例中获得最大价值
  • 哪些内容会对您的实例征税?- 识别频繁使用的内容
  • 用户审核 - 按类型和角色了解用户活动
  • 一段时间内的实例使用情况 - 比较一段时间内不同的活动指标

从空白的“探索”部分选择引导式分析

如需运行引导式分析,请选择要使用的分析选项。分析选项显示在快速入门分析选项上方的引导式分析部分。

引导式分析运行后,您可以自定义数据值以解答关键问题、深入探索分析,或保存分析以与拥有访问权限的其他用户共享。若要关闭分析,只需关闭其浏览器标签页即可。

在探索运行后选择引导式分析

如果您已经运行过系统活动历史记录探索,则可以选择“探索”名称旁边的快速入门按钮,选择引导式分析。

此操作会启动快速入门菜单。

快速入门菜单中选择引导式分析,即可在新的浏览器标签页中打开并运行引导式分析。

引导式分析运行后,您可以自定义数据值以解答关键问题、深入探索分析,或保存分析以与拥有访问权限的其他用户共享。若要关闭分析,只需关闭其浏览器标签页即可。

自定义引导式分析

空白探索或探索的快速入门菜单中选择一项引导式分析后,分析将自动打开并在新的浏览器标签页中运行。

引导式分析运行完毕后,您可以根据分析结果,从下拉菜单、日期菜单或单选按钮选项中选择值和条件,更改和创建预填充值的组合。

例如,您可以选择哪些内容对您的实例产生了负担?分析,以识别 Looker 实例中频繁使用的内容。引导式分析加载完成后,您可以在在什么时间范围内?将默认时间范围值更改为过去 30 天

引导式分析会自动根据所选的时间范围值进行更新。

在此阶段,您可以选择通过进一步探索数据来决定是否对分析结果有额外的洞见。您可以将分析保存为 Look 或信息中心,以便与拥有访问权限的其他用户共享;也可以通过关闭分析浏览器窗口来关闭分析。

引导式分析三点状选项菜单

引导式分析中的三点状选项菜单可让用户执行以下操作:

在引导式分析中进一步探索

通过引导式分析获得初始数据后,您可以选择进一步探索数据。为此,您可以选择三点状选项菜单,然后选择从这里探索

系统会打开一个新的浏览器标签页,其中包含一个“探索”部分,其中预先加载了引导式分析中的字段和可视化图表。

您可以通过添加或移除字段、数据透视或过滤器以及其他自定义设置,获得更深入的数据分析。如需详细了解“探索”功能的最佳实践和提示,请参阅创建和修改探索文档页面。

保存引导式分析

自定义引导式分析后,您可能需要保存分析,以便与有访问权限的其他人共享。您可以通过以下两种方式保存引导式分析:

向信息中心添加引导式分析可视化

要向信息中心添加引导式分析可视化图表,请从三点状选项菜单中选择 + 添加到信息中心,以打开将引导式分析保存到信息中心菜单。

“将引导式分析保存到信息中心”菜单打开后,请按以下步骤操作:

  1. 为引导式分析信息中心图块输入标题。
  2. 选择用于保存引导式分析的信息中心的文件夹。
  3. 选择所需的信息中心。
  4. 选择保存

    系统会弹出一个对话框,通知您引导式分析已添加到所选信息中心内。

  5. 选择用于前往信息中心进行查看的链接或对信息中心进行修改

  6. 或者,选择完成以退出弹出式窗口。

将引导式分析保存为 Look

如需将引导式分析保存为 Look,请从三点状选项菜单中选择从这里探索选项:

系统会打开一个新的浏览器标签页,其中包含一个“探索”,其中预先加载了引导式分析中的字段和可视化图表:

如需将探索保存为 Look,请按以下步骤操作:

  1. 在“探索”的右上角,选择齿轮菜单。
  2. 选择保存
  3. 选择作为 Look 以打开保存 Look 菜单。

  4. 标题字段中,输入新标题。如果您要替换现有 Look,请将此字段留空。

  5. Description 字段中,您可以输入 Look 的说明。如果您要替换现有 Look,请将此字段留空。

  6. Folder 字段中,检查当前文件夹是否为所需目标位置。文件夹字段会显示所选文件夹的名称和位置,右侧会显示所选文件夹的内容。如果您选择不允许保存该 Look 的文件夹,则菜单底部会显示警告,并且 Save & View Look 按钮将被停用。

  7. 如果您想保存到其他文件夹,请前往要将 Look 保存到的文件夹。您可以通过以下任一方式导航到该文件夹:

    • 文件夹字段中,选择任意父级文件夹以导航到相应位置。
    • 在左侧,选择顶级文件夹的名称以导航到该顶级文件夹。
    • 在右侧,选择您要使用的子文件夹的名称,或转到其子文件夹。
    • 如果有多个子文件夹,您可以在按标题过滤字段中输入子文件夹名称,这样列表就会仅显示到该子文件夹中。

  8. 如果您想保存现有 Look,请向下滚动或使用按标题过滤字段查找并选择所需的 Look。Look 的标题和说明(如果有)会显示在 TitleDescription 字段中。

  9. 保存您的 Look。

    • 如需保存 Look 并返回“探索”页面,请选择保存
    • 如需保存和查看您的 Look,请选择保存并查看 Look

您还可以从“探索”中选择其他选项,以保存或分享引导式分析探索,例如:

  • 下载 - 下载引导式分析探索功能
  • 发送 - 一次性发送引导式分析“探索”功能
  • 保存并安排时间 - 将引导式分析“探索”部分保存为 Look 或信息中心,并设置定期传送
  • 合并结果 - 将引导式分析的“探索”结果与其他“探索”结果合并

重新加载引导式分析

如需在引导式分析中重新加载数据,请从三点状选项菜单中选择重新加载选项。

引导式分析将刷新并显示最新数据。