使用共享

当提供者共享对象后,收件人需要遵循一些步骤来使用共享资源。

使用“使用共享”页可以执行以下操作:
  • 使用共享概述

    要使用数据共享,您需要订阅数据共享并创建共享中包含的表视图。

  • 使用版本化共享资源

    作为收件人,您需要下载共享概要信息,订阅数据共享提供程序,注册共享资源并在共享资源之上创建外部表。数据共享工具使用使用激活邮件发送给收件人的 JSON 配置文件授权访问。在授予访问权限后,“数据共享”工具会将共享对象与“数据”链接工具相链接,使用者可以在其中运行数据链接作业并访问提供商共享的对象。

  • 使用实时共享

    这样,您可以作为收件人使用数据库中的实时数据。

  • 查看共享提供方实体详细信息

    使用实时共享或增量共享提供方实体条目右侧的操作图标可查看有关您创建的实时共享或增量共享提供方实体的详细信息。

使用共享资源概览

“使用共享”页概述了共享提供方列表,并提供了用于搜索和添加共享提供方的选项。

要导航到“使用共享”页,请执行以下操作之一:
  • 在 Data Studio 菜单上,选择“数据共享”菜单下的使用共享
  • 在“数据共享”页上,单击“提供者和使用者”部分中存在的使用共享小部件。

“使用共享”页包含:后面是 consumer-share-new.png 的说明
插图 consumptione-share-new.png 的说明

  1. 过去 7 天内的可用实时共享提供方

    此区域显示您在过去 7 天内创建的可用实时共享提供程序列表。您可以根据需要更新任何字段。您还可以使用 Available shares in the last 7 days 中列出的共享资源右侧的 + 号订阅实时共享。

  2. 搜索订阅的共享提供方字段

    您可以通过输入订阅的共享提供方的名称来搜索创建的共享接收方。输入已订阅共享提供程序的名称,例如 REVIEW_PROVIDER ,然后单击放大器图标以完成搜索。“共享”工具在显示区域中显示搜索结果。

  3. 选择 + Subscribe to Share Provider(订阅共享提供方)以订阅新的共享提供方。有关浏览此图标的信息,请参阅订阅共享提供程序
  4. 我的共享 ID

    共享 ID 是 Autonomous Database 的唯一提供商。将此 ID 复制到剪贴板,并将其粘贴到创建共享收件人向导的“共享 ID”字段中。这使实时共享能够与共享提供方共享。

  5. 工具栏

    工具栏由排序依据、页面大小、刷新和实体视图选项组成。

  6. 按设置排序

    使用工具栏中的“排序依据”控件设置排序值时,设置将显示在工具栏下方的小框中。通过单击框中的 X 图标,可以删除设置。或者,您可以通过返回到工具栏中的“排序方式”控件来更改设置。

  7. 显示区

    “搜索消费者共享提供方”字段下方的区域显示搜索返回的与“筛选器”面板中设置的筛选标准匹配的实体。您可以通过单击排序依据按钮,然后设置排序值对实体进行排序。

使用版本化的共享资源

您必须按照以下步骤在 Oracle Autonomous Database 中提供共享的版本化数据。通过 Delta Sharing 与您共享的数据在 Autonomous Database 中不会自动可用并可供发现。

执行以下步骤可订阅和访问提供的数据共享:
  • 下载 JSON 配置文件
  • 订阅数据共享提供程序
  • 注册提供给您的股份
  • 为共享资源创建外部表

关于 JSON 配置文件

Delta 共享配置文件可帮助您连接到共享提供程序并访问 Delta 共享服务器。配置文件信息以 JSON 格式存储在包含客户端身份证明的 zip 文件中。要访问共享数据,必须使用授权的 JSON 配置文件注册共享对象。然后,您可以使用 JSON 配置文件与 Delta 共享服务器进行验证并访问可用的数据共享。

下载 JSON 配置文件

当共享工具创建共享对象时,收件人将收到一封电子邮件通知,其中包含下载 Delta 共享配置文件的链接。您还可以从 Database Actions 控制台下载 JSON 配置文件:

  1. 在“提供共享”页面上,单击收件人旁边的三个点并选择将概要信息激活链接复制到剪贴板

  2. 在 Web 浏览器中打开链接以访问“Delta Profile Download(Delta 配置文件下载)”页面。

  3. 单击获取概要文件信息可下载包含 Delta 共享 JSON 概要文件的 zip 文件。

注意:

出于安全原因,您只能下载一次概要文件信息。单击该按钮两次会导致无法下载配置文件。有关更多信息,请参阅快速入门指南

JSON 配置文件类型

该图显示了 JSON 配置文件,并显示了如何使用 Databricks 使用 bearerTokenOIDC 来使用 Delta Share。



Delta 共享支持以下配置文件:

  • 使用 bearerToken 的配置文件版本 1

    此 JSON 文件可以包括 tokenEndpointclientIDclientSecret,以便可以刷新令牌。

  • 使用 OIDC(仅限 PL/SQL)进行数据库共享的概要文件版本 2

    此 JSON 文件包含 OpenID Connect (OIDC) 和 OAuth 客户端身份证明,例如 clientIdclientSecrettokenEndpoint。Databricks OIDC 配置文件使用 shareCredentialsVersion 2type oauth_client_credentials,但不支持 bearerTokenAutonomous Database 使用 tokenEndpoint 获取有效性更短的访问令牌,并自动进行刷新。

    配置文件版本 2 提供了更好的安全性,因为没有长寿的持有人令牌可供分发,可以更轻松地轮换密钥,并提供更多的自动化。

注意:

对于 OIDC,必须允许出站访问数据块 endpointIdP tokenEndpoint

在“使用共享”中订阅 Delta Share Provider 时,可以使用 JSON 文件版本 1 或版本 2,或者直接在 Share Provider JSON 字段中上载 zip 文件。

示例:JSON 配置文件版本 1
{
        "shareCredentialsVersion": 1, 
        "endpoint": "https://myhost.us.example.com/ords/prov/_delta_sharing/", 
        "tokenEndpoint": "http://myhost.us.example.com:1234/ords/pdbdba/oauth/token", 
        "bearerToken": "-xxxxxxxxxxxxxxxxxxxxx", 
        "expirationTime": "20XX-01-13T07:53:11.073Z", 
        "clientID": "xxxxxxxxxxxxxxxxxxxxxx..", 
        "clientSecret": "xxxxxxxxxxxxxxxxxxxx.."
}
参数包括:
  • shareCredentialsVersion:显示配置文件格式版本 1。

  • endpoint:指定 Autonomous Database 托管的 Delta Sharing 服务器的基本 HTTPS URL。您可以调用此 REST 端点来搜索共享资源、方案、表,以及提取 Parquet 文件的签名 URL。

  • tokenEndpoint:指定令牌端点。如果您使用 Oracle 共享资源,则共享资源工具客户端将使用令牌端点刷新 Bearer 令牌上的超时设置。

  • bearerToken:这是验证服务器为响应登录请求而生成的加密字符串。它通常具有更长的有效性。

  • expirationTime:这是验证到期所需的时间。

  • clientID:指定在注册实例进行验证时验证服务器生成的公共标识符。
  • clientSecret:指定验证服务器为授权生成的密钥标识符。
示例:JSON 配置文件版本 2
{
        "shareCredentialsVersion": 2, 
        "endpoint": "https://myhost.us.example.com/ords/prov/_delta_sharing/", 
        "tokenEndpoint": "http://myhost.us.example.com:1234/ords/pdbdba/oauth/token", 
        "type": "oauth_client_credentials",
        "clientId": "xxxxxxxxxxxxxxxxxxxxxx..", 
        "clientSecret": "xxxxxxxxxxxxxxxxxxxx..",
        "tokenScope": "xxxxxxxxxx"
}
参数包括:
  • shareCredentialsVersion:显示配置文件格式版本 2。

  • endpoint:指定 Autonomous Database 托管的 Delta Sharing 服务器的基本 HTTPS URL。您可以调用此 REST 端点来搜索共享资源、方案、表,以及提取 Parquet 文件的签名 URL。

  • tokenEndpoint:指定令牌端点。

  • type:要使用的验证流。此处是 OAuth 2.0 客户端凭据授予。

  • clientId:指定在注册实例进行验证时验证服务器生成的公共标识符。
  • clientSecret:指定验证服务器为授权生成的密钥标识符。
  • tokenScope:在获取令牌时请求的 OAuth 范围(通常以空格分隔)。确定为共享资源搜索和数据检索授予的访问级别。

请注意两个配置文件中客户机 ID 的差异。配置文件 1 具有 clientID,配置文件 2 具有 clientId

安全增强功能

作为共享资源收件人,您必须使用 APPEND_HOST_ACE 过程作为 ADMIN 用户或其他特权用户,为共享资源提供者的计算机设置访问控制列表 (Access Control List,ACL)。这允许您通过 Internet 访问共享资源。

注意:

在使用“添加共享提供方向导”将访问控制条目 (Access Control Entry,ACE) 添加到主机(即共享提供方)的访问控制列表 (Access Control List,ACL) 之前,必须执行此操作。您可以从上一步中下载的 JSON 配置文件查找主机名。

例如,如果希望允许数据库用户 A_SHARE_USER 访问命名主机(共享提供程序)上的端点,则需要以管理员身份在 SQL 工作表编辑器中运行的 PL/SQL 过程示例。作为先决条件,请从增量共享 JSON 配置文件的端点属性中提取主机名,如上例中所述。示例中的主机名为 myhost.us.example.com

BEGIN 
        dbms_network_acl_admin.append_host_ace(    
        host =>'myhost.us.example.com', 
        lower_port=>443,    
        upper_port=>443,
        ace => xs$ace_type(      
        privilege_list => xs$name_list('http', 'http_proxy'),      
        principal_name =>'A_SHARE_USER',
        principal_type => xs_acl.ptype_db)); 
        COMMIT;
        END;        
/

以下是包含其说明的参数:

  • host - 指定主机名称或 IP 地址。主机或域名不区分大小写。
  • 下方端口 - 指定可选 TCP 端口范围的下方端口。
  • 上方端口 - 指定可选 TCP 端口范围的上方端口。
  • ace - 访问控制项。
  • privilege list - 指定要授予或拒绝的网络特权列表。
  • principal_name - 它是授予或拒绝该权限的主体(数据库用户或角色)。区分大小写。
  • principal_type - 指定您使用的主体类型。

有关 DBMS_NETWORK_ACL_ADMIN 程序包子程序的更多详细信息,请参阅《PL/SQL Packages and Types Reference 》文档。

在本地 ORDS 端点上向用户授予 ACL。您需要这样才能在本地创建的共享资源上生成无记名令牌。
PRIV_ORDS_ACL             CONSTANT PLS_INTEGER := 8;

允许在专用端点上进行增量共享的出站访问

如果使用者 Autonomous AI Database 使用专用端点,请在订阅 Delta 共享提供方并为共享数据创建外部表之前配置出站访问。

Delta Sharing 使用提供程序 endpoint,如果存在,则使用 tokenEndpoint 搜索共享资源并获取访问令牌。然后,使用者数据库使用 Delta 共享服务器返回的签名 URL 直接从对象存储读取共享的 Parquet 文件。因此,请为 Delta 共享提供方端点和签名 URL 引用的对象存储主机配置出站连接。

先决条件

  • 消费者 Autonomous AI Database 使用专用端点访问。

  • 可以以管理身份连接到数据库。

  • 您具有来自提供程序的 Delta Sharing JSON 配置文件。

  • 您知道共享文件是存储在受防火墙或 IP 规则保护的公共存储端点后面,还是存储在专用存储端点后面。

配置出站访问

  1. 以 ADMIN 身份连接到使用者数据库。

  2. 检查当前出站路由模式。

    SELECT property_name, property_value
    FROM database_properties
    WHERE property_name = 'ROUTE_OUTBOUND_CONNECTIONS';

    如果查询未返回行,则不会设置该属性。在这种情况下,到公共端点的出站连接使用服务 VCN NAT 网关。

  3. 如果未设置 ROUTE_OUTBOUND_CONNECTIONS,则确定使用者数据库用于公共端点的出站 IP 地址。

    SELECT cloud_identity
    FROM v$pdbs;

    在 JSON 输出中找到 OUTBOUND_IP_ADDRESS 字段。

    • 如果签名的 URL 引用受防火墙或 IP 规则保护的公共存储端点,请将使用者数据库 OUTBOUND_IP_ADDRESS 添加到存储服务允许列表中。

    • 如果共享文件使用专用存储端点,请配置专用连接和 DNS,而不是公共 IP 允许列表。这使使用者数据库能够通过专用网络路径访问存储帐户。

  4. 通过专用端点路由 Delta 共享流量。

    ALTER DATABASE PROPERTY
    SET ROUTE_OUTBOUND_CONNECTIONS = 'ENFORCE_PRIVATE_ENDPOINT';

    注意:

    Oracle 建议使用 ENFORCE_PRIVATE_ENDPOINT,因为它包含 PRIVATE_ENDPOINT 的限制,并且还将其应用于 DBMS_CLOUD 软件包和外部表创建的出站连接。

    设置此属性时,出站连接必须符合在 VCN 安全列表中或与专用端点关联的网络安全组 (Network Security Group,NSG) 中配置的专用端点出站规则。

    要恢复默认行为,请运行:

    ALTER DATABASE PROPERTY
    SET ROUTE_OUTBOUND_CONNECTIONS = '';
  5. 确保使用者数据库可以解析并访问所有必需的主机,即:

    • 增量共享终点

    • tokenEndpoint(如果存在)

    • 查询时返回的签名 URL 引用的对象存储主机

在订阅共享提供方之前,请为使用者方案中的提供方主机创建所需的 ACL 条目。

上载 JSON 配置文件以创建共享提供方订阅

在此过程中,您将加载提供程序的 JSON 配置文件以进行配置和身份证明,从而允许访问收件人。

  1. 打开“使用共享”页,然后单击 + Subscribe to Share Provider ,从下拉列表中选择 Subscribe to Delta Share Provider 。这将打开“订阅共享提供方”窗口。后面是 subscribe-share-provider-version-providersettings.png 的说明
    插图 subscribe-share-provider-version-providersettings.png 的说明
  2. 在提供程序设置中指定以下内容:

    • 共享源:选择 Delta Share Provider JSON

    • 共享提供方 JSON:您可以使用以下选项共享 JSON 配置文件:

      从文件:选择此选项并单击增量共享概要信息 JSON 以浏览和上载系统上的 JSON 配置文件。或者,您也可以直接在 Share Provider JSON 字段中上载包含 JSON 配置文件的 zip 文件。

      JSON :选择此选项可将 JSON 文件的内容粘贴到提供的空间中。确保复制整个内容,包括开始和结束大括号。

    • 在“共享提供方详细信息”中,输入提供方名称,并根据需要添加说明

    单击下一步以转到“添加共享资源”选项卡。
  3. 在对话框的 "Add Shares"(添加共享资源)选项卡上,您将查看可用共享资源的列表。单击要从可用共享资源中使用的共享资源,然后选择任何可用选项:后面是 subscribe-share-provider-version-addshares.png 的说明
    插图 subscribe-share-provider-version-addshares.png 的说明
    • > :此选项使您可以将“可用共享资源”移动到“所选共享资源”。
    • < :选择此选项可从所选共享资源中删除所选共享资源。
    • >> :此选项允许您将所有共享资源移动到所选共享资源。
    • << :选择此选项可从所选共享资源中删除所有所选共享资源。
  4. 单击订阅以添加共享资源。成功创建提供程序时,将显示确认提示。成功创建提供程序后,您现在可以查看“Data Load(数据加载)”页的“Link Cloud Object(链接云对象)”屏幕。

  5. 您可以在云存储位置字段中查看提供商的名称。该共享资源显示在源文件位置中,其中包含您添加到共享资源中的文件。后面是 link-cloud-object.png 的说明
    插图 link-cloud-object.png 的说明

    展开 Share 文件夹购物车,将共享的文件从源拖放到 Data Link 购物车。

    在“数据”链接购物车中选择开始以运行数据链接作业。

  6. 查看 Database Actions 中创建的表。
    • 单击面包屑中的“Database Actions(数据库操作)”返回“Database Actions(数据库操作)”启动板。
    • 单击“SQL”磁贴。
    • 选择外部表,将其拖放到工作表中。

      此时将显示表的 SQL Select 语句。可以运行此 SQL 语句来使用共享数据。

      后面是 xt_sql.png 的说明
      插图 xt_sql.png 的说明

为版本化共享资源启用文件级别更改数据源访问

Autonomous AI Database 支持版本化共享,数据将作为一系列不同版本发布。每个已发布的版本都引用一组特定的 Parquet 文件。

文件级别更改数据源的工作方式

通过更改数据馈送,使用者可以仅处理在两个发布版本之间更改的文件,而不是每次读取最新的完整快照。

例如,提供者将 1 TB 共享作为版本 3 发布,修改数据并发布版本 4。使用者无需再次读取整个 1 TB 快照,而是可以请求版本 3 和 4 之间的差异,并仅处理返回的增量文件。

要使用此功能,请启用基于版本的访问。

启用基于版本的访问

要为版本化共享资源启用对历史版本和文件级别更改的访问,请为收件人和共享资源配置版本访问。

  • VERSION_ACCESS_CURRENT 仅允许访问当前版本。

  • VERSION_ACCESS_ANY 允许访问当前版本和已停用版本。

使用以下 PL/SQL 示例:

BEGIN
  DBMS_SHARE.UPDATE_RECIPIENT_PROPERTY(
    recipient_name     => 'my_recipient',
    recipient_property => DBMS_SHARE.PROP_RECIPIENT_VERSION_ACCESS,
    new_value          => DBMS_SHARE.VERSION_ACCESS_ANY);

  DBMS_SHARE.UPDATE_SHARE_PROPERTY(
    share_name     => 'my_versioned_share',
    share_property => DBMS_SHARE.PROP_SHARE_VERSION_ACCESS,
    new_value      => DBMS_SHARE.VERSION_ACCESS_ANY);
END;
/

注意:

您必须更新这两个属性才能启用基于版本的访问。

使用 Delta 共享 REST API 请求更改数据

使用“增量共享”更改端点可请求表的更改数据。

请求示例:

GET {prefix}/shares/my_share/schemas/my_schema/tables/my_table/changes?startingVersion=3&endingVersion=4
Authorization: Bearer <token>

响应是换行符分隔的 JSON,包括所请求版本范围的协议、元数据和更改文件操作对象。

响应片段示例:

{"protocol":{"minReaderVersion":1}}
{"metaData":{"format":{"provider":"parquet"}}}
{"add":{"url":"https://.../part-0001.snappy.parquet","id":"file-a","size":573,"version":4}}
{"remove":{"url":"https://.../part-0000.snappy.parquet","id":"file-c","size":573,"version":4}}

这允许使用者仅处理为请求的版本范围返回的文件。

有关读取版本范围的已更改文件并报告行计数的 Oracle 特定数据库示例,请参阅 Oracle Delta Sharing CDF

使用实时共享

通过数据共享与您共享的实时数据不会自动供使用。

要使用实时数据共享,您需要订阅这些共享并创建实时共享中包含的表视图。可以使用 SQL 脚本查询视图。

  1. 打开“使用共享”页,然后单击 + Subscribe to Share Provider ,从下拉列表中选择 Subscribe to Live Share Provider 。这将打开“订阅共享提供方”对话框。
  2. 在“订阅共享提供方”对话框的“提供方设置”窗格中,指定以下详细信息:后面是 subscribe-live-share-provider.png 的说明
    插图 subscribe-live-share-provider.png 的说明

    在“共享源”部分下,选择从实时共享提供程序中选择,然后从下拉列表中选择提供程序。

    在“共享提供方详细信息”字段中,输入以下内容:
    • 提供者名称:指定提供者的名称。
    • 描述:输入提供者的描述。

    单击下一步以转到“添加共享资源”选项卡。

  3. 在对话框的 "Add Shares"(添加共享资源)选项卡上,您将查看可用共享资源的列表。从 "Available Shares"(可用共享资源)中单击要使用的共享资源,然后选择任何可用选项:后面是 add-shares.png 的说明
    插图 add-shares.png 的说明
    • > :此选项使您可以将“可用共享资源”移动到“所选共享资源”。
    • < :选择此选项可从所选共享资源中删除所选共享资源。
    • >> :此选项允许您将所有共享资源移动到所选共享资源。
    • << :选择此选项可从所选共享资源中删除所有所选共享资源。

    单击订阅以添加共享资源。成功创建提供程序时,将显示确认提示。成功创建提供程序后,您现在可以查看“Data Load(数据加载)”页的“Link Cloud Object(链接云对象)”屏幕。

  4. 您可以在云存储位置字段中查看共享提供程序的名称。该共享资源显示在源文件位置中,其中包含您添加到共享资源中的文件。后面是 link-cloud-object.png 的说明
    插图 link-cloud-object.png 的说明

    展开 Share 文件夹购物车,将共享的文件从源拖放到 Data Link 购物车。

    在“数据”链接购物车中选择开始以运行数据链接作业。

查看共享提供商实体详细信息

要查看有关共享提供方实体的详细信息,请单击共享提供方实体条目右侧的操作图标,然后单击查看详细信息

对于所有实体,详细信息包括“沿袭”和“影响”部分。

对于特定的共享提供方实体,您可以使用操作上下文菜单执行以下操作。

  • 查看详细信息:请参阅查看共享提供方实体详细信息
  • Manage Shares(管理共享资源):打开“Manage Shares for Share(管理共享资源的共享资源)”提供程序对话框。这将列出您选择要与收件人共享的共享。您可以编辑要与收件人共享的共享列表。单击确定以保存任何更改,或者选择取消以放弃编辑过程。
  • 加载到表:系统会将您定向到“加载数据”页,其中选择了“共享”选项卡。
  • 链接到表:系统会将您定向到“链接数据”页,其中选择了“共享”选项卡来查看和运行相关的链接对象。拖放共享数据以将其添加到数据链接作业中。
  • 重命名:重命名提供程序名称。选择进行更改,否则单击
  • 复制端点:复制端点。
  • 删除:删除共享提供方实体。

使用删除向量共享数据块表

介绍当 Autonomous AI Database 是 Delta Sharing 使用者时如何共享 Databricks Delta 表。

Autonomous AI Database 不支持带有 Deletion Vectors 的 Databricks Delta 表。如果共享 Delta 表使用删除向量,则 Autonomous AI Database 将在创建表时返回以下错误。
ORA-29913: error while processing ODCIEXTTABLEFETCH routine

在以下情况下,当 Autonomous AI Database 是 Delta Sharing 使用者时,数据库提供商可以共享 Delta 表:

  • 方案 1 - 从表中删除删除向量

  • 方案 2 - 创建视图并共享视图

  • 方案 3 - 在工作区设置中为将来的表禁用删除向量

方案 1 - 从表中删除删除向量

如果准备好在特定表上停止使用 deletionVectors,请使用此方法。

  1. 在 Databricks 中运行。

    ALTER TABLE table_name 
    DROP FEATURE deletionVectors
  2. 将表 table_name 添加到 Delta 共享资源,并将 Autonomous AI Database 配置为使用者。

此选项将应用所有待处理的删除操作,并从表中删除 deletionVectors 功能。该表的行为类似于不带 deletionVectors 的常规 Delta 表。

优点:
  • 没有用于查看实体化的持续成本。

  • Autonomous AI Database 中轻松实施。

缺点:
  • 对大型表进行的一次性重写。

  • 影响读取此表的所有工作负载,而不仅仅是 Autonomous AI Database

  • 丢失此表上将来删除的删除向量优势。

场景 2 - 创建视图并共享视图

如果要将 deletionVectors 保留在基表中,请使用此方法。

  1. 在 Databricks 中运行。

    CREATE VIEW view_name AS 
    SELECT * FROM table_name;
  2. 将视图 view_name 添加到 Delta 共享资源,而不是表。

    Autonomous AI Database 使用者可以运行以下查询:

    SELECT * 
    FROM "MY_SHARE"."MY_SCHEMA"."view_name";

在此方案中,Databricks 基表继续使用删除向量。数据库在运行视图时会解析删除向量,因此 Autonomous AI Database 不会看到这些向量。对于非数据库收件人(例如 Autonomous AI Database ),Databricks 可以实现视图并向提供商收取计算和存储费用。提供商可以在数据块中配置实体化 TTL ,以控制成本与数据刷新之间的平衡,为新数据配置更短或更短的 TTL,或配置更长或更高的 TTL 以实现成本效益。

优点:
  • 不更改基表。

  • 其他 Databricks 工作负载可以使用删除向量继续。

  • 您可以将筛选器、屏蔽或列预测添加到视图中。

缺点:
  • 提供商承担在 Databricks 中查看实体化和存储的成本。

  • 管理 TTL 设置以实现成本控制和数据刷新。

  • 比共享表更复杂。

方案 3 - 在将来表的工作区设置中禁用删除向量

使用此项可防止新表在默认情况下使用删除矢量。

  1. 以 Databricks 管理员用户身份打开 Workspace 设置或管理控制台,然后转至 Advanced

  2. 找到 Auto-Enable Deletion Vectors 并将其设置为 Disabled

  3. 保存更改并重新启动正在运行的计算。

(可选)为特定表运行此操作:
ALTER TABLE table_name 
SET TBLPROPERTIES ('delta.enableDeletionVectors' = FALSE);

在此方案中,此更改后创建的所有新表默认情况下都不会启用删除向量。但是,已经使用“删除向量”的现有表需要前面解释的情景。

优点:
  • 自动阻止新表使用删除向量。

  • 不再为与 Autonomous AI Database 共享的未来表进行维护。

缺点:
  • 不修复已使用删除向量的现有表。

  • 维护工作区范围的设置。缺省情况下,某些内部工作负载可能仍使用删除向量。

验证是否在数据块中启用了删除向量

要检查是否为 Databricks 中的特定表启用了删除向量,请运行以下命令:

SHOW TBLPROPERTIES table_name ('delta.enableDeletionVectors');