架构:

ACCOUNT_USAGE

AGGREGATE_ACCESS_HISTORY 视图

此 Account Usage 视图提供了 Snowflake 中所有工作负载的汇总 访问历史记录。当工作负载涉及高度循环的事务性查询时,这些查询的访问模式也会经常重复。以聚合方式查看此类访问历史记录信息更为有效。

AGGREGATE_ACCESS_HISTORY 视图包含与 ACCESS_HISTORY 视图 类似的数据,这些数据以一分钟为间隔,对重复查询进行汇总。

此视图还提供与分析性查询和事务性查询相关的访问历史记录信息。相比之下,请注意,ACCESS_HISTORY 视图 包含的访问历史记录信息仅与出现在 QUERY_HISTORY 视图 中的查询有关,不包括某些短期运行的事务性查询。

列名称

数据类型

描述

INTERVAL_START_TIME

TIMESTAMP_LTZ

测量窗口的开始时间。

INTERVAL_END_TIME

TIMESTAMP_LTZ

测量窗口的结束时间。

QUERY_PARAMETERIZED_HASH

TEXT

用于识别相同的参数化查询的唯一 ID。请参阅 QUERY_PARAMETERIZED_HASH 列

USER_NAME

TEXT

发出查询的用户。

CALLS

NUMBER

在 INTERVAL_START_TIME 和 INTERVAL_END_TIME 指定的时间窗口内,由特定参数化查询和用户触发的访问行为发生的次数。

DIRECT_OBJECTS_ACCESSED

ARRAY

数据对象的 JSON 数组,例如用户定义的函数(即 UDFs 和 UDTFs)、存储过程、表、视图和列,这些对象直接在查询中显式命名,或者通过快捷方式(例如使用星号 *)命名。

虚拟列可以在此字段中返回。

有关 UDFs 的其他说明,请参阅 UDF 说明

BASE_OBJECTS_ACCESSED

ARRAY

要执行查询的所有基本数据对象的 JSON 数组,包括列、外部函数、UDFs 和存储过程。

ACCESS_HISTORY 视图 的示例中,第一个数组中的字段指定了一个 UDF。如果适用,第一个数组中的这些相同字段还指定存储过程。

请注意以下事项:

  • 如果在数据共享使用者账户中访问共享视图,则此字段指定视图名称或视图列(包括虚拟列)。

  • 有关 UDFs 的其他说明,请参阅 UDF 说明

OBJECTS_MODIFIED

ARRAY

JSON 数组,指定与查询中的写入操作关联的对象。

UDF 和存储过程数组与 ACCESS_HISTORY 视图 的示例中的 baseSourcesdirectSources 数组中的内容相同,具体取决于访问的发生方式。为简洁起见,此示例省略了 UDF 和存储过程数组

有关 UDFs 的其他说明,请参阅 UDF 说明

OBJECT_MODIFIED_BY_DDL

OBJECT

指定对数据库、架构、表、视图和列执行的 DDL 操作。这些操作还包括针对表或视图指定行访问策略、针对列指定掩码策略以及针对对象或列指定标签更新(例如设置标签、更改标签值)的语句。

POLICIES_REFERENCED

ARRAY

指定有关列上设置的强制掩码策略和表上设置的强制行访问策略的信息,包括对中间对象或列设置的策略。

下面介绍 DIRECT_OBJECTS_ACCESSED、BASE_OBJECTS_ACCESSED、OBJECTS_MODIFIED 和 POLICIES_REFERENCED 列的 JSON 数组中的字段。

字段

数据类型

描述

columnId

NUMBER

账户中唯一的列 ID。此值与 COLUMNS 视图的 column_id 列中的值相同。

columnName

TEXT

访问的列的名称。对于策略,指定为其设置掩码策略的列。

objectId

NUMBER

对象的标识符,在给定账户和域中唯一。此数字将匹配:

objectName

TEXT

所访问对象的完全限定名称。

如果对列设置掩码策略,或者对表或视图设置行访问策略,则该值指设置行访问策略的表或视图的完全限定名称,或者对其中一列设置掩码策略的表或视图的完全限定名称。

如果访问了暂存区,则此值将为:

  • ``username``(用户暂存区)。

  • ``table_name``(表暂存区)。

  • ``stage_name``(命名暂存区)。

objectDomain

TEXT

以下其中一项:EXTERNAL TABLEFUNCTIONMATERIALIZED VIEWPROCEDURESTAGESTREAMVIEW

请注意,FUNCTION 指定 UDFs、UDTFs 和外部函数。

对于策略,指定对其设置了行访问策略的对象所属的域。

location

TEXT

从外部位置访问数据时的外部位置 URL(例如 s3://mybucket/a.csv)。

如果查询未访问暂存区,则忽略此字段。

stageKind

TEXT

向暂存区写入数据时,以下其中一项:TableUserInternal NamedExternal Named

如果查询未访问暂存区,则忽略此字段。

baseSources

TEXT

这些列用作 directSources 指定的列的源列。这些列有助于列沿袭。

directSources

TEXT

这些列专门在 SQL 语句的数据 写入 部分提及,用作数据写入的目标表中的源列。这些列有助于列沿袭。

policyName

TEXT

策略的完全限定名称。

policyId

NUMBER

策略的标识符,在给定账户和域中唯一。此值匹配 MASKING_POLICIES 视图 中掩码策略的标识符,或者 ROW_ACCESS_POLICIES 视图 中行访问策略的标识符

policyKind

TEXT

MASKING_POLICY 或 ROW_ACCESS_POLICY

argumentSignature

TEXT

UDF 或存储过程中每个实参的名称和数据类型。

dataType

UDF 或存储过程的返回值的数据类型。

此值有助于区分两个或多个具有相同名称但具有不同返回类型的 UDFs。

下面介绍了 OBJECT_MODIFIED_BY_DDL 列的字段。

字段

数据类型

描述

objectDomain

TEXT

由 DDL 操作定义或修改的对象的域,其中包括 可标记的所有对象,以及 MASKING POLICYROW ACCESS POLICYTAG

objectId

NUMBER

对象的标识符,在给定账户和域中唯一,由 DDL 操作定义或修改。

objectName

TEXT

由 DDL 操作定义或修改的对象的完全限定名称。

operationType

TEXT

用于指定对表、视图或列执行的操作的 SQL 关键字:ALTERCREATEDROPREPLACEUNDROP

properties

ARRAY

JSON 数组,用于在您创建、修改、删除或取消删除对象或列时指定对象或列属性。有两种类型的属性:原子性和复合性。

对于 properties 字段:

  • 原子性:每个属性有一个值(例如,comment 有一个字符串值,enabled 属性是布尔值,并且有一个值)。

  • 复合性:每个属性有多个值(例如 allowed_values 适用于标签、掩码策略)。

复合属性以 JSON 数组记录。例如,如果表包含名为 EMAIL 的单个列,则该列记录如下:

columns: {
  "email": {
    objectId: {
      "value": 1
    },
    "subOperationType": "ADD"
  }
}
Copy

subOperationType 可以是以下其中一项:

  • ADD 指定添加复合属性(例如,添加列、设置允许的值)。

  • DROP 指定移除复合属性。

  • ALTER 指定修改复合属性。

objectId 指定列或对象的标识符,但没有标识符的允许标签值除外。

使用说明

  • 视图的延迟时间最长可达 180 分钟(3 小时)。

  • 此 Account Usage 视图可用于查询过去 365 天(1 年)内,Snowflake 对象(例如表、视图、列)的汇总访问历史记录。

语言: 中文