在 Oracle Compute Cloud at Customer 上查询外部数据
介绍用于允许 Exadata Cloud@Customer 上的 Autonomous AI Database 部署从数据湖中的对象构建外部表和外部分区表,从而加载、查询和管理非结构化数据。
您可以使用 DBMS_CLOUD 程序包在 Exadata Cloud@Customer 上配置 Autonomous AI Database 部署,以访问存储在 Oracle Compute Cloud at Customer (C3) 对象存储桶上的非结构化数据。
概述
您需要能够从结构化和非结构化数据中提取业务洞察的数据平台。数据仓库中可用的结构化数据和数据湖中可用的非结构化数据的组合称为数据湖仓一体。
自治数据湖仓一体允许对结构化和非结构化数据进行数据分析。结构化数据存储在 Autonomous AI Lakehouse 中,而非结构化数据存储在 C3 对象存储桶上配置的数据湖中。Autonomous AI Lakehouse 可以使用名为 DBMS_CLOUD 的数据库程序包来查询、加载和管理数据湖中的对象。此程序包允许 Autonomous AI Database 在数据湖对象(如 csv、txt、Avro 和 Parquet 文件)上创建外部分区表和外部分区表。您可以通过结合 Exadata Cloud@Customer 和 Oracle C3 上的 Autonomous AI Database 部署功能来构建自治数据湖仓。
Autonomous Data Lakehouse 包含两个主要组件:自治 AI Lakehouse 和 Data Lake。Autonomous AI Lakehouse 使用 Exadata Cloud@Customer 上的 Autonomous AI Database 部署构建,而数据湖则使用 C3 对象存储桶构建。自治 AI 数据库托管结构化关系数据,而数据湖托管以 txt、csv、Avro、Parquet 和其他文件类型形式收集的非结构化数据。您可以查询 Autonomous AI Database ,数据库将确定在何处查找结果,无论是在结构化数据、非结构化数据还是这两者的组合中。您可以使用 DBMS_CLOUD 程序包在 Exadata Cloud@Customer 上配置 Autonomous AI Database 部署,通过基于数据湖中的对象构建外部和外部分区表来加载、查询和管理非结构化数据。
Prerequisites
- 创建 C3 对象存储存储桶。
- 创建用户和组。将用户添加到组中并配置所需的策略,以允许用户管理 C3 对象存储存储桶中的文件(添加/读取/删除)。
示例:
Allow group <group_name> to manage objects in tenancy where target.bucket.name='<new_bucket_name_created>' - 为创建的用户创建 API 密钥。在 API 密钥生成过程中,请注意以下信息:
user_ocid、tenancy_ocid、fingerprint和region。此外,保存在 API 密钥生成过程中创建的公共和专用 PEM 密钥文件。此信息是以后配置DBMS_CLOUD软件包所必需的。 - 下载 https 证书颁发机构链,如下所示。此证书颁发机构链允许客户机应用程序通过 https 协议对 C3 对象存储桶进行验证。https 证书通常保存在 crt 文件中,例如
c3_ca.crt。通过将浏览器指向以下 URL 来获取证书颁发机构链:https://iaas.domainname/cachain,其中domainname是 C3 基础结构部署期间配置的 DNS 域的名称。 - 创建新的计算 VM 。新 VM 启动后,将上述步骤中创建的专用 PEM 密钥文件和 C3 https 证书文件复制到 VM。
- 创建 Exadata 基础结构资源。
- 创建 Autonomous VM Cluster (自治 VM 集群)。
- 创建 Autonomous Container Database (ACD) 。
- 创建自治 AI 数据库。
配置 Autonomous AI Database 以与 C3 对象存储存储桶通信
- 将 C3 对象存储 https 证书添加到自治 VM 集群网格基础结构 TCPS Wallet。例如,钱包位置是
/var/opt/oracle/dbaas_acfs/grid/tcps_wallets。Autonomous AI Database 可以验证与 C3 对象存储的 https 连接。 - 在上面创建的 ACD 上向
C##CLOUD$SERVICE_dbms_cloud_store表添加一个条目。这是为了告知DBMS_CLOUD程序包 C3 对象存储桶是有效的云存储。要执行此操作的示例 SQL 命令是:SQL>INSERT INTO C##CLOUD$SERVICE.dbms_cloud_store VALUES('ORACLE_BMC','<objectstorage.mydomain.com>',null,1);
- Exadata 基础结构资源的 OCID
- 自治 VM 集群的 OCID
- ACD 的 OCID
- C3 对象存储 URL
- C3 对象存储 https 证书文件
Cloud Operations 完成以上任务后,登录 Autonomous AI Database 。使用 DBMS_CLOUD.CREATE_CREDENTIAL 过程向 Autonomous AI Database 提供连接到 C3 对象存储存储桶所需的验证信息。有关详细信息,请参见 CREATE_CREDENTIAL 。