Consultar tablas de Apache Iceberg
Autonomous AI Database admite la consulta de tablas de Apache Iceberg.
- Acerca de la consulta de tablas de Apache Iceberg
La base de datos de IA autónoma soporta la consulta de tablas de Apache Iceberg. - Conceptos relacionados con la consulta de tablas de Apache Iceberg
Comprender los siguientes conceptos es útil para consultar tablas de Apache Iceberg. - Credenciales para Iceberg: catálogo de REST frente a almacén de objetos
En este tema se explica cómo Apache Iceberg gestiona y accede a los datos a través de las dos credenciales: catálogo de REST y almacén de objetos. También puede consultar dos formas diferentes de gestionar la información de la tabla en formatos de tabla de lago de datos como Apache Iceberg. - Flujo de trabajo típico de la consulta de tablas Iceberg de Apache
Antes de empezar a consultar tablas Iceberg de Apache, debe estar familiarizado con su flujo de trabajo. En este apartado se explica cómo definir tablas externas para acceder a los datos presentados como un flujo de trabajo de configuración integral con cinco pasos principales. - Inicios rápidos del proveedor
En este capítulo se describe el proceso para configurar el acceso a datos externos con diferentes proveedores de datos en la nube. - Referencias
En esta sección, se proporciona una lista de referencias para los enlaces que se citan en este capítulo:
Tema principal: Consulta de Datos Externos con Autonomous AI Database
Acerca de la Consulta de Tablas Apache Iceberg
Autonomous AI Database admite la consulta de tablas de Apache Iceberg.
Configuraciones Soportadas
A continuación, se muestra la matriz de compatibilidad de la configuración soportada:
Catálogo | Almacenes de objetos | Autenticación de catálogo (REST) | Autenticación de almacenamiento | Notas |
---|---|---|---|---|
Unity (Databricks) | Amazon S3, Azure ADLS Gen2 | Principal de servicio OAuth2 (/oidc/v1/token) - recomendado; PAT - pruebas rápidas | clave de acceso/secreto S3; clave SAS de ADLS Gen2 |
|
Polaris (copo de nieve) | Amazon S3, Azure ADLS Gen2 | OAuth2 (credenciales de cliente) o token admitido por Polaris | clave de acceso/secreto S3; clave SAS de ADLS Gen2 | La venta de credenciales del almacén de objetos no está soportada. |
AWS Glue | Amazon S3 | N/A (utiliza la autenticación de la cuenta de AWS) | S3 clave de acceso/secreto; | La venta de credenciales del almacén de objetos no está soportada. Se deben utilizar las mismas credenciales para S3 y Glue. S3 y Glue deben estar en la misma región de AWS. |
Metadatos JSON (opción no incluida en el catálogo) | Amazon S3, Azure ADLS Gen2, OCI Object Store | N/A (sin REST) | clave de acceso/secreto S3; clave SAS Gen2 de ADLS, credenciales nativas de OCI | Apunte ADB al archivo metadata.json de la tabla (manifiesto raíz). Instantánea puntual; vuelva a crear la tabla externa después del cambio de esquema o la nueva instantánea.
|
Hadoop (no catálogo) | OCI Object Storage | N/A (sin REST) | Credenciales nativas en OCI | Apunta a una carpeta de lakehouse que contiene archivos de datos y metadatos. |
- Restricciones de Consulta de Tablas Apache Iceberg
En este capítulo se muestran las restricciones de consulta de tablas Apache Iceberg.
Tema principal: Consulta de tablas Iceberg de Apache
Restricciones de Consulta de Tablas Apache Iceberg
En este capítulo se enumeran las restricciones de consulta de tablas de Apache Iceberg.
-
Iceberg nativo de Unity (REST): no soportado.
Solución alternativa: utilice Delta + UniForm para publicar una vista legible para Iceberg mediante el punto final REST de Iceberg de Unity Catalog.
- Catálogos de REST certificados: ADB está certificado con Snowflake Polaris y Databricks Unity Catalog (solo UniForm) para acceso de lectura a Iceberg.
-
vending de credenciales de catálogo: no soportado.
La venta basada en roles nativa de la nube, como la suposición automática de roles o las credenciales temporales emitidas por STS, no se admite. Utilice claves de acceso/secreto explícitas o tokens estáticos.)
- Credenciales de AWS ARN: no admitidas. No se aceptan ARN de rol de IAM y AssumeRole mediante ARN.
- Las tablas de iceberg particionadas no se admiten; solo se permiten tablas no particionadas.
- Actualizaciones de nivel de fila (fusión en lectura): no admitidas. Si los metadatos de Iceberg hacen referencia a archivos de supresión, las consultas fallarán.
- El esquema de una tabla externa fija se determina en la creación y debe alinearse con la versión del esquema Iceberg en los metadatos. Si se actualiza el esquema Iceberg, se debe volver a crear la tabla externa.
- Sin viaje en tiempo de consulta: la consulta por instantánea, versión o registro de hora no está soportada.
- Solo Non_catalog: las nuevas instantáneas no se seleccionan automáticamente. Para leer una instantánea específica, el destino de esa instantánea es metadata.json y volver a crear la tabla externa.
- Alineación de credenciales: se deben utilizar las mismas credenciales para AWS S3 y AWS Glue.
- Coubicación de región: los cubos S3 y el catálogo de AWS Glue deben estar en la misma región de AWS.
Tema principal: Acerca de la consulta de tablas Iceberg de Apache
Conceptos relacionados con la consulta de tablas Iceberg de Apache
Es útil comprender los siguientes conceptos para consultar tablas de Apache Iceberg.
Catálogo de Iceberg
El catálogo Iceberg es un servicio que gestiona los metadatos de la tabla, como las instantáneas de la tabla, el esquema de la tabla y la información de partición. Para consultar la última instantánea de una tabla Iceberg, los motores de consulta primero deben acceder al catálogo y obtener la ubicación del archivo de metadatos más reciente. Ya hay una serie de implementaciones de catálogos disponibles, incluidas AWS Glue, Hive, Nessie y Hadoop. Autonomous AI Database admite el catálogo de AWS Glue y la implementación HadoopCatalog que utiliza Spark.
Para obtener más información, consulte Concurrencia optimista.
Archivos de metadatos
El archivo de metadatos es un documento JSON que realiza un seguimiento de las instantáneas de la tabla, el esquema de partición y la información del esquema. El archivo de metadatos es el punto de entrada a una jerarquía de listas de manifiestos y archivos de manifiesto. Los manifiestos realizan un seguimiento de los archivos de datos de la tabla junto con información que incluye estadísticas de particiones y columnas. Consulte la Especificación de tabla de Iceberg para obtener más información.
Transacciones
Iceberg admite actualizaciones a nivel de fila en las tablas mediante la función de copia en escritura o fusión en lectura. La función de copia en escritura genera nuevos archivos de datos que reflejan las filas actualizadas, mientras que la función de fusión en lectura genera nuevos "archivos de supresión" que se deben fusionar con los archivos de datos durante la lectura. Oracle soporta la copia en escritura. Las consultas sobre tablas de iceberg fallan si encuentran un archivo de eliminación. Para obtener más información, consulte RowLevelOperationMode.
Evolución del Esquema
Iceberg apoya la evolución del esquema. Los cambios de esquema se reflejan en los metadatos de Iceberg mediante un ID de esquema. Tenga en cuenta que las tablas externas de Oracle tienen un esquema fijo, determinado por la versión de esquema más actual en el momento de la creación de la tabla. Las consultas de Iceberg fallan cuando los metadatos consultados apuntan a una versión de esquema diferente a la utilizada en el momento de la creación de la tabla. Para obtener más información, consulte Evolución del esquema.
Partición
Iceberg admite opciones avanzadas de partición, como la partición oculta y la evolución de la partición, que se basan en el procesamiento/modificación de los metadatos de la tabla sin costosos cambios en el diseño de los datos.
Tema principal: Consulta de tablas Iceberg de Apache
Credenciales para Iceberg: catálogo REST frente a almacén de objetos
En este tema se explica cómo Apache Iceberg gestiona y accede a los datos a través de las dos credenciales: Catálogo REST y Object Store. También puede consultar dos formas diferentes de gestionar la información de la tabla en formatos de tabla de lago de datos como Apache Iceberg.
Tablas externas gestionadas por catálogo frente a tablas externas de metadatos directos
En la siguiente sección se comparan las tablas externas gestionadas por catálogos con las tablas externas de metadatos directos que resaltan sus diferencias clave.
-
Gestionado por catálogo (Unity / Polaris / AWS Glue)
Qué es: los metadatos, el esquema y la instantánea "actual" se resuelven mediante un catálogo REST.
Comportamiento: refleja automáticamente la última instantánea del catálogo, los permisos, las etiquetas y el linaje centralizados.
Mejor opción para: productos de datos empresariales, uso compartido entre motores, gobernanza coherente y capacidad de detección (el catálogo es el único punto de verdad).
-
-
Direct-Metadata (sistema de archivos mediante
metadata.json
)Qué es: la tabla externa apunta directamente a un
metadata.json
específico.Comportamiento: instantánea fija y reproducible; sin avances automáticos; gobernanza limitada a las ACL del almacén de objetos.
Mejor para: experimentos, pruebas y auditorías.
-
Credenciales de REST frente a Almacén de Objetos
Credenciales de catálogo de REST
Se necesitan credenciales REST al conectarse a un catálogo REST de Apache Iceberg. El catálogo REST gestiona los metadatos de las tablas Iceberg exponiendo los puntos finales RESTful. Para autenticarse, las credenciales REST suelen estar basadas en OAuth, lo que requiere obtener un token de portador de un punto final de token mediante client ID
y secret
.
-
rest_auth_cred
: se autentica con el servicio de catálogo (por ejemplo, Unity o Polaris). credential_name
: se autentica en el almacén de objetos donde residen los datos y metadatos de Iceberg.
Las credenciales de venta no están soportadas en este momento. Las credenciales de venta se refieren al proceso controlado de distribución o recuperación de credenciales de acceso (como nombres de usuario y contraseñas, claves de API o tokens) cuando son necesarias, a menudo de forma automática o bajo demanda, en lugar de almacenarlas estáticamente en archivos de configuración o scripts.
Credenciales de Almacén de Objetos
Las credenciales del almacén de objetos se utilizan cuando las tablas de Apache Iceberg se almacenan directamente en el almacenamiento de objetos en la nube, como Oracle Cloud Infrastructure (OCI) Object Storage o Amazon S3.
Las credenciales permiten a la base de datos de IA autónoma acceder y leer archivos (como manifiestos de metadatos y datos de Parquet) directamente desde el almacén de objetos en la nube.
Utilice las credenciales del almacén de objetos al definir tablas externas que apuntan directamente a los archivos de Parquet/metadatos en cubos OCI/S3.
Tema principal: Consulta de tablas Iceberg de Apache
Flujo de trabajo típico de consulta de tablas Iceberg de Apache
Antes de comenzar a consultar tablas Apache Iceberg, debe estar familiarizado con su flujo de trabajo. En este apartado se explica cómo definir tablas externas para acceder a los datos presentados como un flujo de trabajo de configuración integral con cinco pasos principales.
- Decida el modelo de acceso:
- Gestionado por catálogo: utilice este modelo cuando desee que un catálogo controlado y actualizado continuamente sirva como única fuente de datos para los metadatos de datos. Este catálogo central ayuda a mantener la consistencia y la gobernanza de los datos.
- Direct-Metadata: utilice este modelo cuando trabaje con una instantánea fija de metadatos (mediante metadata.json). Este modelo es más sencillo pero estático, no se recomienda para la producción, ya que carece de actualizaciones automáticas y gobernanza.
- Recopilación de lo que necesita:
- Gestionado por catálogo: debe tener acceso al punto final del catálogo (si corresponde), a la ruta de la tabla exacta y a la ubicación del almacén de objetos en la que residen los archivos de datos reales.
- Direct-Metadata: solo necesita el URI que apunta al archivo raíz
metadata.json
más la ubicación del almacén de objetos de estos archivos de datos.
- Preparar credenciales:
- Para las configuraciones gestionadas por catálogo, adquiera credenciales para acceder al catálogo.
- Las credenciales del almacén de objetos siempre son necesarias independientemente del modelo para leer tanto los archivos de datos como los de metadatos.
Nota
La venta automatizada de credenciales y AWS AssumeRole para el acceso al catálogo no están soportadas.
- Creación de la tabla externa:
- En Gestionada por catálogo, la tabla consulta los datos a través del catálogo y accede a los archivos del almacén de objetos.
- En Direct-Metadata, la tabla apunta directamente al archivo
metadata.json
específico sin la participación del catálogo.
-
Comprobación y expectativas rápidas:
Ejecute una consulta simple, como
COUNT(*)
, para verificar la configuración de la tabla y asegurarse de que puede acceder a los datos correctamente.
Tema principal: Consulta de tablas Iceberg de Apache
Inicios rápidos de proveedor
En este capítulo, se describe el proceso para configurar el acceso a datos externos con diferentes proveedores de datos en la nube.
Temas:
- Catálogo de Databricks Unity
En esta sección, se explica el flujo de trabajo que enlaza a Databricks con formatos de tabla abierta a través de UniForm, lo que facilita el acceso a los datos de Delta Lake en entornos que admiten Iceberg. - Snowflake Polaris
En este tema se describe Snowflake Polaris (catálogo REST) que permite el acceso seguro a las tablas de Apache Polaris Iceberg a través de una API de REST mediante la autenticación OAuth2. - Catálogo de pegamento de AWS
En este tema se describe cómo acceder a los datos de Amazon S3 mediante el catálogo de datos de pegamento con tablas de Iceberg registradas mediante credenciales de AWS. - Hadoop/Filesystem (archivo de metadatos directos)
En este tema se explica cómo crear una credencial de almacenamiento para acceder al archivo de metadatos de una tabla Iceberg directamente desde almacenes de objetos como ADLS, S3 u OCI. En él se explica la categorización de los tipos de gestión directa de metadatos para tablas Iceberg almacenadas directamente en el sistema de archivos (normalmente sistemas de archivos compatibles con Hadoop) sin utilizar un servicio de catálogo.
Tema principal: Consulta de tablas Iceberg de Apache
Catálogo de Databricks Unity
En esta sección se explica el flujo de trabajo que vincula Databricks con formatos de tabla abierta a través de UniForm, lo que facilita el acceso a los datos de Delta Lake en entornos que admiten Iceberg.
Catálogo de Databricks Unity (ruta UniForm)
- Una tabla Delta creada con UniForm para que los clientes de Iceberg puedan leerla.
- Archivos de tabla en Azure ADLS Gen2 o AWS S3.
- Privilegios de Unity Catalog para acceso externo (por ejemplo, acceso a datos externos activado); otorgue
EXTERNAL USE SCHEMA
a su principal. - Autenticación: OAuth2 (recomendado) o token de acceso personal (para pruebas rápidas).
Iceberg nativo a través de Iceberg REST no es compatible con nuestra integración todavía. Utilice Delta con UniForm (lectura de Iceberg) y extráigalo mediante Unity Iceberg REST: https://<workspace-host>/api/2.1/unity-catalog/iceberg.
Cree una tabla UniForm (lectura de Iceberg) en Databricks:
customers_iceberg
en Databricks dentro del catálogo y el esquema especificados de Unity Catalog:USE CATALOG <your_catalog>;
USE SCHEMA <your_schema>;
CREATE TABLE customers_iceberg (
id INT,
name STRING
)
TBLPROPERTIES(
'delta.columnMapping.mode'='name',
'delta.enableIcebergCompatV2'='true',
'delta.universalFormat.enabledFormats'='iceberg'
);
INSERT INTO customers_iceberg (id, name) VALUES
(1,'Alice'), (2,'Bob'), (3,'Carol');
Credencial de almacén de objetos (ADLS Gen2)
BEGIN
BEGIN DBMS_CLOUD.DROP_CREDENTIAL('AZURE_BLOB_CRED'); EXCEPTION WHEN OTHERS THEN NULL; END;
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'AZURE_BLOB_CRED',
username => '<storage-account-or-sas-username>',
password => '<storage-key-or-sas-token>'
);
END;
/
Crear credenciales de catálogo de REST con OAuth2
-- Databricks service principal (client_id / client_secret)
BEGIN
BEGIN DBMS_CLOUD.DROP_CREDENTIAL('UNITY_OAUTH'); EXCEPTION WHEN OTHERS THEN NULL; END;
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'UNITY_OAUTH',
username => '<client_id>',
password => '<client_secret>'
);
END;
/
BEGIN
DBMS_CLOUD.CREATE_EXTERNAL_TABLE(
table_name => 'CUSTOMERS_ICEBERG',
credential_name => 'AZURE_BLOB_CRED',
format => '{
"access_protocol": {
"protocol_type": "iceberg-rest",
"protocol_config": {
"iceberg_catalog_type": "unity",
"rest_catalog_endpoint": "https://<workspace-host>/api/2.1/unity-catalog/iceberg",
"rest_authentication": {
"rest_auth_cred": "UNITY_OAUTH",
"rest_auth_endpoint": "https://<workspace-host>/oidc/v1/token"
},
"table_path": ["<your_catalog>","<your_schema>","customers_iceberg"]
}
}
}'
);
END;
/
SELECT COUNT(*) FROM CUSTOMERS_ICEBERG;
Crear credenciales de catálogo de REST con token de acceso personal (PAT)
BEGIN
BEGIN DBMS_CLOUD.DROP_CREDENTIAL('UNITY_PAT'); EXCEPTION WHEN OTHERS THEN NULL; END;
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'UNITY_PAT',
username => 'token',
password => '<dapiXXXXXXXXXXXXXXXXXXXXXXXX>'
);
END;
/
BEGIN
DBMS_CLOUD.CREATE_EXTERNAL_TABLE(
table_name => 'CUSTOMERS_ICEBERG',
credential_name => 'AZURE_BLOB_CRED',
format => '{
"access_protocol": {
"protocol_type": "iceberg-rest",
"protocol_config": {
"iceberg_catalog_type": "unity",
"rest_catalog_endpoint": "https://<workspace-host>/api/2.1/unity-catalog/iceberg",
"rest_authentication": { "rest_auth_cred": "UNITY_PAT" },
"table_path": ["<your_catalog>","<your_schema>","customers_iceberg"]
}
}
}'
);
END;
/
SELECT COUNT(*) FROM CUSTOMERS_ICEBERG;
Tema principal: Inicios rápidos del proveedor
Snowflake Polaris
En este tema se describe Snowflake Polaris (catálogo REST) que permite el acceso seguro a las tablas de Apache Polaris Iceberg a través de una API REST mediante la autenticación OAuth2.
Snowflake Polaris (catálogo REST)
- El catálogo y el punto final de Polaris Iceberg están disponibles para su cuenta.
- Archivos de tabla accesibles en el almacén de objetos (S3/ADLS, según corresponda).
- Auth: se recomienda OAuth2 (credenciales de cliente) u otro mecanismo de token admitido por Polaris.
Cree una credencial OAuth2:
El siguiente procedimiento crea una credencial OAuth2 con el nombre POLARIS_OAUTH
para autenticar el acceso a un catálogo de Apache Polaris Iceberg.
BEGIN
BEGIN DBMS_CLOUD.DROP_CREDENTIAL('POLARIS_OAUTH'); EXCEPTION WHEN OTHERS THEN NULL; END;
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'POLARIS_OAUTH',
username => '<client_id>',
password => '<client_secret>'
);
END;
/
Crear Credencial de Almacenamiento
El siguiente procedimiento crea una credencial de almacenamiento denominada S3_CRED
para acceder al almacenamiento de objetos (por ejemplo, Amazon S3) con un ID de clave de acceso de AWS y una clave de acceso secreta.
-- Storage credential for your object store (example: S3)
BEGIN
BEGIN DBMS_CLOUD.DROP_CREDENTIAL('S3_CRED'); EXCEPTION WHEN OTHERS THEN NULL; END;
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'S3_CRED',
username => '<aws_access_key_id>',
password => '<aws_secret_access_key>'
);
END;
/
Crear tabla externa
SALES_POLARIS
en Databricks que accede a los datos almacenados mediante el formato Iceberg gestionado por el catálogo Polaris.BEGIN
DBMS_CLOUD.CREATE_EXTERNAL_TABLE(
table_name => 'SALES_POLARIS',
credential_name => 'S3_CRED',
format => '{
"access_protocol": {
"protocol_type": "iceberg-rest",
"protocol_config": {
"iceberg_catalog_type": "polaris",
"rest_catalog_endpoint": "<https://<your-polaris-endpoint>/...>",
"rest_authentication": {
"rest_auth_cred": "POLARIS_OAUTH",
"rest_auth_endpoint": "<https://<your-oauth-token-endpoint>>"
},
"table_path": ["<db>","<schema>","<table>"]
}
}
}'
);
END;
/
Comprobación rápida de funcionalidad
SELECT COUNT(*) FROM SALES_POLARIS;
Mantenga los marcadores de posición de punto final y URL de token, ya que varían según la configuración de Polaris.
Tema principal: Inicios rápidos del proveedor
Catálogo de AWS Glue
En este tema se describe cómo acceder a los datos de Amazon S3 a través del catálogo de datos de pegamento con tablas Iceberg registradas mediante credenciales de AWS.
-
Catálogo de datos de pegamento con la tabla Iceberg registrada (se puede acceder a objetos S3).
Nombre de la región de Glue (por ejemplo,
us-east-1
). -
Autenticación: acceda a clave/secreto para S3; pegue el acceso mediante la configuración del catálogo.
- La venta de credenciales a través de AWS ARN no está soportada. Se deben proporcionar credenciales explícitas.
Crear una credencial de almacenamiento
El siguiente procedimiento crea una credencial de almacenamiento denominada S3_CRED
en Databricks para permitir el acceso a los datos almacenados en un cubo de Amazon S3.
-- S3 credential
BEGIN
BEGIN DBMS_CLOUD.DROP_CREDENTIAL('S3_CRED'); EXCEPTION WHEN OTHERS THEN NULL; END;
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'S3_CRED',
username => '<aws_access_key_id>',
password => '<aws_secret_access_key>'
);
END;
/
Crear una mesa de iceberg externa
ORDERS_GLUE
en Databricks.BEGIN
DBMS_CLOUD.CREATE_EXTERNAL_TABLE(
table_name => 'ORDERS_GLUE',
credential_name => 'S3_CRED',
format => '{
"access_protocol": {
"protocol_type": "iceberg",
"protocol_config": {
"iceberg_catalog_type": "aws_glue",
"iceberg_glue_region": "us-east-1",
"table_path": ["<database>","<table>"]
}
}
}'
);
END;
/
Comprobación rápida de funcionalidad
ORDERS_GLUE
, verificando la conexión y la accesibilidad de los datos.SELECT COUNT(*) FROM ORDERS_GLUE;
Tema principal: Inicios rápidos del proveedor
Hadoop/Filesystem (archivo de metadatos directos)
En este tema se explica cómo crear una credencial de almacenamiento para acceder al archivo de metadatos de una tabla Iceberg directamente desde almacenes de objetos como ADLS, S3 u OCI. En él se explica la categorización de los tipos de gestión directa de metadatos para tablas Iceberg almacenadas directamente en el sistema de archivos (normalmente sistemas de archivos compatibles con Hadoop) sin utilizar un servicio de catálogo.
Ejemplo: consulta de una tabla Iceberg mediante metadatos JSON
- Puede acceder al manifiesto raíz de Iceberg de la tabla (
metadata.json
) en el almacén de objetos (ADLS/S3/OCI). - Esta ruta es punto en el tiempo. Para seguir las nuevas instantáneas, vuelva a crear la tabla externa.
Creación de una credencial de almacenamiento
Este procedimiento primero intenta borrar una credencial existente denominada STORE_CRED
si existe (ignorando cualquier error). A continuación, crea una nueva credencial denominada STORE_CRED
.
-- Storage credential for wherever the metadata.json lives
BEGIN
BEGIN DBMS_CLOUD.DROP_CREDENTIAL('STORE_CRED'); EXCEPTION WHEN OTHERS THEN NULL; END;
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'STORE_CRED',
username => '<user-or-key>',
password => '<secret-or-token>'
);
END;
/
Crear una tabla externa
CUSTOMERS_META
.BEGIN
DBMS_CLOUD.CREATE_EXTERNAL_TABLE(
table_name => 'CUSTOMERS_META',
credential_name => 'STORE_CRED',
file_uri_list => 'https://<bucket-or-container>/<path>/metadata.json',
format => '{"access_protocol":{"protocol_type":"iceberg"}}'
);
END;
/
Comprobación rápida de funcionalidad
El siguiente procedimiento ejecuta una consulta para contar todas las filas de la tabla externa.
SELECT COUNT(*) FROM CUSTOMERS_META;
Ejemplo: consulta de una tabla Iceberg mediante el catálogo de Hadoop en OCI
En este ejemplo, consultamos la tabla Iceberg db.icebergTablePy
, creada mediante OCI Data Flow, donde Spark utiliza la implantación HadoopCatalog para el catálogo Iceberg. HadoopCatalog utiliza una carpeta de lakehouse iceberg
en el cubo my-iceberg-bucket
y coloca los metadatos de Iceberg en una subcarpeta $database_name/$table_name
en este directorio. También utiliza un archivo version-hint.text
que contiene el número de versión de la versión más reciente del archivo de metadatos.
db.icebergTablePy
de la siguiente manera:BEGIN
DBMS_CLOUD.CREATE_EXTERNAL_TABLE (
table_name => 'iceberg_parquet_time_dim3',
credential_name => 'OCI_CRED',
format => '{
"access_protocol": {
"protocol_type": "iceberg",
"protocol_config": {
"iceberg_catalog_type": "hadoop",
"iceberg_lakehouse": "https://objectstorage.uk-cardiff-1.oraclecloud.com/n/my-tenancy/b/my-iceberg-bucket/o/iceberg",
"iceberg_table_path": "db.icebergTablePy"
}
}
}'
);
END;
/
Tema principal: Inicios rápidos del proveedor
Referencias
En esta sección, se proporciona una lista de referencias para los enlaces citados en este capítulo:
Tema principal: Consulta de tablas Iceberg de Apache