外部目录

外部目录是从 Oracle AI Data Platform Workbench 之外的位置获取数据的目录。

“教程”图标 LiveLabs Sprint

外部目录连接到 Oracle Autonomous AI LakehouseOracle AI DatabaseOracle Autonomous AI Transaction Processing 等源,以将数据提取到 AI Data Platform Workbench 中。外部目录使用在外部目录创建期间提供的身份证明来查询外部源。有关数据源的更多信息,请参阅内部源

例如,如果为 Autonomous AI Lakehouse 实例创建外部目录,其中使用的 Autonomous AI Lakehouse 用户凭证可以访问 schema1 ,但不能访问 schema2 ,则外部目录中仅显示 schema1 。具有外部目录权限的用户只能查询 Autonomous AI Lakehouse 用户有权访问的模式。

注意:

AI 数据平台工作台不支持从可插入数据库 (Pluggable Databases,PDB) 之间共享的方案和表或从 Oracle 维护的方案和表中收集数据。

Autonomous AI LakehouseAutonomous AI Transaction Processing 所需的权限

AI 数据平台工作台中创建外部目录时,用于连接的用户凭据应至少具有以下权限:
  • 用于连接到数据库的 CREATE SESSION
  • 通过最小权限授予或专用读取角色对所需对象(表/视图/外部表)的 SELECT 访问权限
  • 阅读,写入 DIRECTORY DATA_PUMP_DIR
如果要在外部目录中插入数据或创建新表,请确保用户是 DWROLE 的一部分。有关详细信息,请参阅 Oracle Autonomous AI Transaction Processing 文档、 Manage User Privileges on Autonomous AI Database - Connecting with a Client Tool

限制

外部目录支持查询和 DML。不支持 DDL,即使用于创建外部目录的身份证明具有执行 DDL 语句的权限也是如此。

创建外部目录

您可以将目录从 AI 数据平台工作台连接到外部源。

  1. 单击左侧导航窗格中的创建,然后选择目录。您还可以导航到主目录,然后单击 “创建目录”图标 在主目录中创建目录
  2. 填写名称和说明字段。
  3. Catalog Type(目录类型)下拉列表中,选择 External Catalog(外部目录)
  4. 选择外部来源类型。
    • 对于 Oracle Autonomous AI Lakehouse ,请提供 wallet 文件或实例配置。
    • 对于 Oracle Autonomous AI Transaction Processing ,请提供 wallet 文件或实例配置。
    • 对于 Oracle AI Database ,请提供 wallet 文件或实例配置。
    • 对于 Kafka,提供引导服务器。使用逗号分隔多个服务器。(即将提供)
  5. 填写用户名和密码。
  6. SSL 默认情况下处于启用状态。清除该框可禁用 SSL。
  7. 单击创建
    正在从外部源提取数据的外部目录显示旋转圆图标。
    主目录树视图,其中突出显示的目录旁边的旋转“进行中”图标

    您还可以从作业运行监视进度。

为专用网络创建外部目录

您可以创建访问专用网络中数据源的外部目录。

  1. 单击左侧导航窗格中的创建,然后选择目录。您还可以导航到主目录,然后单击 “创建目录”图标 在主目录中创建目录
  2. 填写名称和说明字段。
  3. Catalog Type(目录类型)下拉列表中,选择 External Catalog(外部目录)
  4. 选择外部来源类型。
    • 对于 Oracle Autonomous AI Lakehouse ,请提供 wallet 文件或实例配置。
    • 对于 Oracle Autonomous AI Transaction Processing ,请提供 wallet 文件或实例配置。
    • 对于 Oracle AI Database ,请提供 wallet 文件或实例配置。
    • 对于 Oracle Exadata Database Service ,提供主机、端口和服务名称 (host,port,and service name,SID)。
    • 对于 Kafka,提供引导服务器。使用逗号分隔多个服务器。(即将提供)
  5. 填写用户名和密码。
  6. 默认情况下,SSL 已启用。清除该框可禁用 SSL。
  7. 选择启用专用网络
  8. 选择具有所需专用网络配置的工作区。
    有关设置为专用网络配置的工作区的信息,请参见 Create a Workspace with Private Network Access Enabled
  9. 单击创建
    正在从外部源提取数据的外部目录显示旋转圆图标。
    主目录树视图,其中突出显示的目录旁边的旋转“进行中”图标

    您还可以从作业运行监视进度。

刷新外部数据目录

可以触发所有外部目录的刷新,以从源更新其内容。

  1. 在主页中,单击主目录
  2. 选择要刷新的外部目录。
  3. 单击 “刷新”图标 刷新
    单击刷新时,工作流将在后台启动,以便从外部目录中提取和更新元数据。正在从外部源中提取数据的目录显示旋转圆图标。
    主目录树视图,其中突出显示的目录旁边的旋转“进行中”图标

    您还可以从作业运行监视进度。

编辑外部目录说明

如果外部目录的内容或用途已更改,则可以在创建后编辑其说明。

  1. 在主页中,单击主目录
  2. 在外部目录旁边,单击 “操作三个点”图标 操作,然后单击编辑说明

    突出显示了 "Edit Description"(编辑说明)的已打开目录的操作三点菜单

  3. 对目录说明进行更改,然后单击保存

重命名外部目录

您可以重命名外部目录,以便在目录的内容或用途发生更改时提供描述性标签。

无法重命名默认目录。
  1. 在主页中,单击主目录
  2. 在目录旁边,单击 “操作三个点”图标 操作,然后单击重命名

    为突出显示了“重命名”的目录打开了操作三点菜单

  3. 对目录名称进行更改,然后单击保存

编辑外部目录配置

您可以编辑外部目录的配置以更新所需的密码。

  1. 在主页中,单击主目录
  2. 在目录旁边,单击 “操作三个点”图标 操作,然后单击编辑配置
  3. 输入外部目录的新密码,然后单击保存

访问记事本中的外部目录表

您可以使用三部分名称从记事本中的外部目录访问表。

默认情况下会启用向下推送,聚合、投影、筛选器、列修剪、topN、极限、偏移、布尔、逻辑和关系运算符等操作将向下推送至源。
  1. 导航到记事本的代码界面。
  2. 要从外部目录表读取数据,请使用:
    df = spark.read.table("<<catalog_name>>.<<schema_name>>.<<table_name>>")
  3. 要将数据写入外部目录,有四个选项:
    Option#1
    df.write.saveAsTable("<<catalog_name>>.<<schema_name>>.<<table_name>>")
    
    Option#2
    df.write.mode("append").insertInto("<<catalog_name>>.<<schema_name>>.<<table_name>>")
    
    Option#3
    df.write.mode("overwrite").saveAsTable("<<catalog_name>>.<<schema_name>>.<<table_name>>")
    
    Option#4
    df.write.option('write.mode', 'MERGE').option('write.merge.keys','merge column(s)').insertInto('<<catalog_name>>.<<schema_name>>.<<table_name>>')

删除外部目录

可以删除外部目录以删除所有本地存储的元数据。

删除外部目录只会删除本地存储的元数据。数据源中的数据不受影响。

  1. 在主页中,单击主目录
  2. 在目录旁边,单击 “操作三个点”图标 操作,然后单击删除

    为突出显示了“删除”的目录打开了操作三点菜单

  3. 选择确认删除目录
  4. 单击删除