Catálogos externos
Cree catálogos externos para obtener datos de una ubicación fuera de Oracle AI Data Platform.
Los catálogos externos conectan AI Data Platform a orígenes de datos externos, como Oracle Autonomous AI Lakehouse, Oracle AI Database y Oracle Autonomous AI Transaction Processing, y tiendas de terceros como Snowflake, Azure SQL y MySQL. AI Data Platform detecta y sincroniza los metadatos de estos orígenes en el catálogo maestro, lo que permite a los usuarios examinar y consultar esquemas y tablas remotos sin duplicar los datos subyacentes.
Los catálogos externos utilizan las credenciales proporcionadas durante la creación del catálogo externo para consultar el origen externo. Para obtener más información sobre los orígenes de datos, consulte Orígenes internos.
Por ejemplo, si crea un catálogo externo para una instancia de Autonomous AI Lakehouse en la que las credenciales de usuario de Autonomous AI Lakehouse utilizadas tienen acceso a schema1, pero no a schema2, solo aparece schema1 en el catálogo externo. Los usuarios con permisos para el catálogo externo solo pueden consultar el esquema al que tiene acceso el usuario de Autonomous AI Lakehouse.
Note:
AI Data Platform no soporta la recopilación de datos de esquemas y tablas compartidos entre bases de datos de conexión (PDB) o de esquemas y tablas mantenidos por Oracle.Permisos necesarios para Autonomous AI Lakehouse y el procesamiento de transacciones de IA autónoma
- CREAR SESIÓN para conectar a la base de datos
- Acceso SELECT en los objetos necesarios (tablas/vistas/tablas externas) mediante permisos de privilegios mínimos o un rol de lectura dedicado
- LECTURA, ESCRITURA en DIRECTORY DATA_PUMP_DIR
Limitaciones
La operación UPDATE no está soportada para catálogos externos. Utilizar tablas de catálogo externo para detectar y acceder a consultas.
DDL no está soportado, incluso cuando las credenciales utilizadas para crear el catálogo externo tienen permisos para ejecutar sentencias DDL.
- Si proporciona el nombre de la tabla en mayúsculas, la tabla se crea con letras mayúsculas y sigue el comportamiento por defecto no sensible a mayúsculas/minúsculas en Autonomous AI Lakehouse.
- Si proporciona el nombre de la tabla en minúscula, la tabla se crea como sensible a mayúsculas/minúsculas en Autonomous AI Lakehouse. Los nombres de columna para las tablas creadas mediante Autonomous AI Lakehouse siempre se crean como sensibles a mayúsculas/minúsculas.
- Los comentarios de la columna de origen están limitados a 256 bytes de UTF-8 durante la ingesta y el refrescamiento del catálogo externo. El límite se mide en bytes, no en caracteres, por lo que los comentarios que contienen caracteres multibyte pueden superar el límite cuando contienen 256 caracteres o menos. Si se supera el límite, se pueden producir errores en la ingesta de metadatos o en el refrescamiento. Reduzca el comentario de la columna de origen a 256 UTF-8 bytes o menos y, a continuación, vuelva a intentarlo.
Creación de un catálogo externo
Puede conectar un catálogo desde la instancia de Oracle AI Data Platform a un origen externo.
Creación de un catálogo externo para redes privadas
Puede crear un catálogo externo que acceda a orígenes de datos en una red privada.
Cómo conectar Oracle Autonomous AI Database on Exadata Cloud@Customer a Oracle AI Data Platform
Puede crear un catálogo externo para una base de datos de Oracle Autonomous AI Transaction Processing, Oracle Autonomous AI Database u Oracle Autonomous AI Lakehouse que se ejecute en Oracle Autonomous AI Database on Exadata Cloud@Customer. Cuando solo se pueda acceder a la base de datos a través de una red privada, configure un espacio de trabajo de AI Data Platform con acceso a la red privada y los detalles de SCAN de la base de datos.
La conexión utiliza TLS con una cartera de credenciales de cliente.
Requisitos
- La base de datos está aprovisionada y disponible.
- Ha descargado la cartera de credenciales de cliente de base de datos.
- Conoce el nombre de dominio completo de SCAN de la base de datos y el puerto del listener de TLS.
- El nombre de SCAN se puede resolver desde la red privada que utiliza el espacio de trabajo de AI Data Platform.
- Las rutas de red y las reglas de seguridad permiten el tráfico de la red del espacio de trabajo al puerto del listener de la base de datos.
- Tiene permiso para inspeccionar los grupos de seguridad de red, subred y VCN necesarios.
- El usuario de la base de datos tiene los privilegios CREATE SESSION y SELECT en los esquemas y objetos que desea exponer a través del catálogo externo.
- El usuario de la base de datos tiene los permisos adicionales necesarios para las operaciones de lectura o escritura previstas.
Crear un espacio de trabajo con conectividad privada
- Proporcione la VCN y la subred que proporcionen conectividad a su entorno de Oracle Exadata Cloud@Customer.
- En Opciones de red avanzadas, seleccione Mis orígenes de datos requieren acceso a través de un proxy de SCAN.
- Introduzca el nombre de dominio completo SCAN de la base de datos.
- Introduzca el puerto del listener de TLS de la base de datos.
Crear el catálogo externo
- En Tipo de origen externo, seleccione Oracle Autonomous AI Transaction Processing.
- En Método de conexión, seleccione Cartera.
- Cargue la cartera de credenciales de cliente descargada de la base de datos.
- Seleccione el servicio de base de datos necesario de la cartera.
- Si es necesario, proporcione la contraseña de cartera.
- Seleccione el espacio de trabajo configurado anteriormente con acceso a la red de base de datos y la dirección SCAN.
- Pruebe la conexión para confirmar que todo está configurado correctamente.
Validar la Conexión
- Confirme que los esquemas y las tablas esperados aparecen en el catálogo externo.
- Inicie o seleccione un cluster de recursos informáticos en el espacio de trabajo privado.
- Consultar una tabla detectada con su nombre de tres partes:
SELECT *
FROM <catalog_name>.<schema_name>.<table_name>;Refrescamiento de un catálogo de datos externo
Puede refrescar un catálogo externo en Oracle AI Data Platform para sincronizar su contenido con el origen externo.
Refrescamiento de un catálogo externo mediante SQL
Puede utilizar la gramática SQL para refrescar los metadatos de un catálogo externo, así como su esquema y tablas, para sincronizar el contenido con el origen externo.
Para refrescar un catálogo externo, utilice los siguientes comandos SQL en un bloc de notas:
REFRESH EXTERNAL CATALOG <<catalog_name>>Para refrescar un esquema en un catálogo externo, utilice:
REFRESH SCHEMA IN EXTERNAL CATALOG <<catalog_name.schema_name>>Para refrescar una tabla en un esquema de un catálogo externo, utilice:
REFRESH TABLE IN EXTERNAL CATALOG <<catalog_name.schema_name.table_name>>Para obtener más información, consulte Gramática SQL.
Cambiar el nombre de un catálogo externo
Puede cambiar el nombre de un catálogo externo si su contenido o finalidad han cambiado.
Editar descripción de catálogo externo
Puede modificar la descripción de un catálogo externo si su contenido o finalidad ha cambiado.
Cambio de la contraseña de un catálogo externo
Puede actualizar la contraseña necesaria para un catálogo externo para que pueda seguir accediendo al origen.
- En el panel de navegación de la izquierda, haga clic en
Catálogo maestro. - En el separador Catálogos, busque el catálogo y haga clic en
Acciones y, a continuación, haga clic en Cambiar contraseña. - Introduzca la nueva contraseña para el catálogo externo y haga clic en Guardar.
Suprimir un catálogo externo
Puede suprimir un catálogo externo cuando ya no sea necesario.
Al suprimir un catálogo externo, solo se suprimen los metadatos almacenados localmente. Los datos del origen de datos externo no se ven afectados.
Suprimir datos de tablas de un catálogo externo
Puede utilizar la ruta de acceso de escritura de Spark para suprimir filas de una tabla de catálogo externa cuando el catálogo y la tabla estén configurados para soportar SQL DELETE de transferencia.
Uso del ID de catálogo para suprimir datos de tabla: ejemplo de Python
from pyspark.sql.types import StructType
df = spark.createDataFrame([], StructType([]))
df.write
.format("aidataplatform")
.option("catalog.id", "<catalog>")
.option("pushdown.sql", "DELETE FROM <schema>.<target_table> WHERE ID = 2")
.save()
Uso del ID de catálogo para suprimir datos de tabla: ejemplo de Scala
val df = spark.emptyDataFrame
df.write
.format("aidataplatform")
.option("catalog.id", "<catalog>")
.option("pushdown.sql", "DELETE FROM <schema>.<target_table> WHERE ID = 2")
.save()
Ejemplo de estilo de ingesta para suprimir datos de tabla: ejemplo de Python
from pyspark.sql.types import StructType
df = spark.createDataFrame([], StructType([]))
df.write
.format("aidataplatform")
.option("data.asset.type", "ORACLE_ALH")
.option("tns.alias", alhTns)
.option("user.name", userName)
.option("wallet.content", alhWalletContent)
.option("password", alhPassword)
.option("pushdown.sql", "DELETE FROM ADMIN.PUSHDOWN_FEATURE WHERE ID = 2")
.save()Ejemplo de estilo de ingesta para suprimir datos de tabla: ejemplo de Scala
val df = spark.emptyDataFrame
df.write
.format("aidataplatform")
.option("data.asset.type", "ORACLE_ALH")
.option("tns.alias", alhTns)
.option("user.name", userName)
.option("wallet.content", alhWalletContent)
.option("password", alhPassword)
.option("pushdown.sql", "DELETE FROM ADMIN.PUSHDOWN_FEATURE WHERE ID = 2")
.save()


