Cataloghi esterni

Crea cataloghi esterni per ricavare dati da una posizione esterna a Oracle AI Data Platform.

Icona Esercitazione Sprint LiveLabs

I cataloghi esterni connettono AI Data Platform a origini dati esterne, come Oracle Autonomous AI Lakehouse, Oracle AI Database e Oracle Autonomous AI Transaction Processing e aree di memorizzazione di terze parti come Snowflake, Azure SQL e MySQL. AI Data Platform rileva e sincronizza i metadati di queste origini nel catalogo principale, consentendo agli utenti di sfogliare ed eseguire query su schemi e tabelle remoti senza duplicare i dati di base.

I cataloghi esterni utilizzano le credenziali fornite durante la creazione del catalogo esterno per eseguire query sull'origine esterna. Per ulteriori informazioni sulle origini dati, vedere Origini interne.

Ad esempio, se si crea un catalogo esterno per un'istanza di Autonomous AI Lakehouse in cui le credenziali utente Autonomous AI Lakehouse utilizzate hanno accesso allo schema1, ma non allo schema2, nel catalogo esterno viene visualizzato solo lo schema1. Gli utenti con autorizzazioni per il catalogo esterno possono eseguire query solo sullo schema a cui l'utente di Autonomous AI Lakehouse ha accesso.

Nota

AI Data Platform non supporta la raccolta di dati da schemi e tabelle condivisi tra pluggable database (PDB) o da schemi e tabelle gestiti da Oracle.

Autorizzazioni richieste per Autonomous AI Lakehouse e Autonomous AI Transaction Processing

Quando si crea un catalogo esterno in AI Data Platform, le credenziali utente utilizzate per la connessione devono disporre delle autorizzazioni riportate di seguito.
  • CREATE SESSION per la connessione al database
  • SELECT accesso agli oggetti richiesti (tabelle/viste/tabelle esterne) tramite privilegi minimi o un ruolo di lettura dedicato
  • LEGGI, SCRIVI SU DIRECTORY DATA_PUMP_DIR
Se si stanno inserendo dati o creando una nuova tabella nel catalogo esterno, assicurarsi che l'utente faccia parte di DWROLE. Per ulteriori informazioni, consultare la documentazione di Oracle Autonomous AI Transaction Processing, Gestire i privilegi utente su Autonomous AI Database - Connessione a uno strumento client.

Limitazioni

L'operazione UPDATE non è supportata per i cataloghi esterni. Utilizzare le tabelle catalogo esterne per l'accesso alla ricerca automatica e alle query.

DDL non supportato anche quando le credenziali utilizzate per creare il catalogo esterno dispongono delle autorizzazioni per eseguire le istruzioni DDL.

L'involucro dei nomi di tabella influisce sulla modalità di creazione della tabella in Oracle Autonomous AI Lakehouse:
  • Se si fornisce il nome della tabella in maiuscolo, la tabella viene creata utilizzando lettere maiuscole e segue il comportamento predefinito senza distinzione tra maiuscole e minuscole in Autonomous AI Lakehouse.
  • Se si fornisce il nome della tabella in minuscolo, la tabella viene creata con distinzione tra maiuscole e minuscole in Autonomous AI Lakehouse. I nomi di colonna per le tabelle create tramite Autonomous AI Lakehouse vengono sempre creati con distinzione tra maiuscole e minuscole.
  • I commenti alle colonne di origine sono limitati a 256 byte UTF-8 durante l'inclusione e l'aggiornamento del catalogo esterno. Il limite viene misurato in byte, non in caratteri, quindi i commenti contenenti caratteri multibyte possono superare il limite quando contengono al massimo 256 caratteri. Se si supera il limite, l'inclusione dei metadati o l'aggiornamento non riescono. Ridurre il commento della colonna di origine a un massimo di 256 byte UTF-8, quindi riprovare.

Creare un catalogo esterno

È possibile connettere un catalogo dall'istanza di Oracle AI Data Platform a un'origine esterna.

  1. Fare clic su Crea nel riquadro di navigazione a sinistra e selezionare Catalogo. È inoltre possibile accedere al catalogo principale e fare clic su Icona Crea catalogo Crea catalogo nel catalogo principale.
  2. Compilare i campi del nome e della descrizione.
  3. Dall'elenco a discesa Tipo catalogo, selezionare Catalogo esterno.
  4. Selezionare il tipo di origine esterna.
  5. Compilare il nome utente e la password, se applicabile.
  6. SSL è abilitato per impostazione predefinita. Deselezionare la casella per disabilitare SSL.
  7. Fare clic su Crea.
    Nei cataloghi esterni che estraggono dati da un'origine esterna viene visualizzata un'icona a forma di cerchio rotante.
    Vista struttura catalogo principale con l'icona in corso di rotazione accanto al catalogo evidenziato

    È inoltre possibile monitorare l'avanzamento da Esecuzioni job.

Creare un catalogo esterno per le reti private

È possibile creare un catalogo esterno che accede alle origini dati in una rete privata.

  1. Fare clic su Crea nel riquadro di navigazione a sinistra e selezionare Catalogo. È inoltre possibile accedere al catalogo principale e fare clic su Icona Crea catalogo Crea catalogo nel catalogo principale.
  2. Compilare i campi del nome e della descrizione.
  3. Dall'elenco a discesa Tipo catalogo, selezionare Catalogo esterno.
  4. Selezionare il tipo di origine esterna.
  5. Compilare il nome utente e la password, se applicabile.
  6. SSL è abilitato per impostazione predefinita. Deselezionare la casella per disabilitare SSL.
  7. Selezionare Abilita rete privata.
  8. Selezionare l'area di lavoro con la configurazione di rete privata desiderata.
    Per informazioni sull'impostazione di un'area di lavoro configurata per le reti private, vedere Creare un'area di lavoro con accesso alla rete privata abilitato.
  9. Fare clic su Crea.
    Nei cataloghi esterni che estraggono dati da un'origine esterna viene visualizzata un'icona a forma di cerchio rotante.
    Vista struttura catalogo principale con l'icona in corso di rotazione accanto al catalogo evidenziato

    È inoltre possibile monitorare l'avanzamento da Esecuzioni job.

Come connettere Oracle Autonomous AI Database on Exadata Cloud@Customer a Oracle AI Data Platform

Puoi creare un catalogo esterno per un database Oracle Autonomous AI Transaction Processing, Oracle Autonomous AI Database o Oracle Autonomous AI Lakehouse in esecuzione su Oracle Autonomous AI Database on Exadata Cloud@Customer. Quando il database è accessibile solo tramite una rete privata, configurare un'area di lavoro AI Data Platform con accesso alla rete privata e i dettagli SCAN del database.

La connessione utilizza TLS con un wallet delle credenziali client.

Requisiti

Prima di iniziare, assicurarsi che:
  • Il provisioning del database è stato eseguito e disponibile.
  • È stato scaricato il wallet delle credenziali client del database.
  • Si conosce il nome di dominio completamente qualificato SCAN del database e la porta del listener TLS.
  • Il nome SCAN può essere risolto dalla rete privata utilizzata dall'area di lavoro AI Data Platform.
  • Gli instradamenti di rete e le regole di sicurezza consentono il traffico dalla rete dell'area di lavoro alla porta listener del database.
  • Hai l'autorizzazione per ispezionare la VCN, la subnet e i gruppi di sicurezza di rete necessari.
  • L'utente del database dispone dei privilegi CREATE SESSION e SELECT sugli schemi e sugli oggetti che si desidera esporre tramite il catalogo esterno.
  • L'utente del database dispone di eventuali autorizzazioni aggiuntive necessarie per le operazioni di lettura o scrittura desiderate.
Solo gli schemi e gli oggetti accessibili all'utente del database specificato vengono trovati e aggiunti al catalogo esterno.

Creare un'area di Lavoro con connettività privata

Attenersi alla procedura descritta in Creazione di un'area di lavoro con accesso alla rete privata abilitato, con le modifiche riportate di seguito.
  • Fornisci la VCN e la subnet che forniscono connettività all'ambiente Oracle Exadata Cloud@Customer.
  • In Opzioni di rete avanzate selezionare Le origini dati personali richiedono l'accesso tramite un proxy SCAN.
  • Immettere il nome di dominio completamente qualificato SCAN del database.
  • Immettere la porta del listener TLS del database.

Crea il catalogo esterno

Attenersi alla procedura fornita in Crea un catalogo esterno per reti private con le selezioni riportate di seguito.
  • Per Tipo di origine esterna, selezionare Oracle Autonomous AI Transaction Processing.
  • Per Metodo di connessione, selezionare Wallet.
  • Caricare il wallet delle credenziali client scaricato dal database.
  • Selezionare il servizio di database richiesto dal wallet.
  • Fornire la password del wallet, se necessario.
  • Selezionare l'area di lavoro configurata in precedenza con accesso alla rete di database e all'indirizzo SCAN.
  • Eseguire il test della connessione per verificare che tutto sia configurato correttamente.

Convalida la connessione

Al termine della creazione del catalogo e della ricerca automatica dei metadati:
  • Confermare che gli schemi e le tabelle previsti vengano visualizzati nel catalogo esterno.
  • Avviare o selezionare un cluster di computazione nell'area di lavoro privata.
  • Eseguire una query su una tabella trovata utilizzando il nome in tre parti:
SELECT *
FROM <catalog_name>.<schema_name>.<table_name>;

Aggiorna un Data Catalog esterno

È possibile aggiornare un catalogo esterno in Oracle AI Data Platform per sincronizzarne il contenuto con l'origine esterna.

  1. Nel riquadro di navigazione a sinistra, fare clic su Icona Catalogo principale Catalogo principale.
  2. Nella struttura del catalogo principale, selezionare il catalogo esterno che si desidera aggiornare.
  3. Fai clic su Icona Aggiorna Aggiorna.
    Il catalogo esterno viene visualizzato in Catalogo principale con un'icona a forma di cerchio mentre estrae i dati e aggiorna i metadati dall'origine esterna.
    Vista struttura catalogo principale con l'icona in corso di rotazione accanto al catalogo evidenziato

    È inoltre possibile monitorare l'avanzamento da Esecuzioni job. Vedere Monitoraggio dei job.

Aggiornare un catalogo esterno utilizzando SQL

È possibile utilizzare la grammatica SQL per aggiornare i metadati di un catalogo esterno, nonché il relativo schema e tabelle, per sincronizzare il contenuto con l'origine esterna.

Per aggiornare un catalogo esterno, utilizzare i comandi SQL riportati di seguito in un notebook.

REFRESH EXTERNAL CATALOG <<catalog_name>>

Per aggiornare uno schema in un catalogo esterno, utilizzare:

REFRESH SCHEMA IN EXTERNAL CATALOG <<catalog_name.schema_name>>

Per aggiornare una tabella in uno schema in un catalogo esterno, utilizzare:

REFRESH TABLE IN EXTERNAL CATALOG <<catalog_name.schema_name.table_name>>

Per ulteriori informazioni, vedere Grammatica SQL.

Rinomina catalogo esterno

È possibile rinominare un catalogo esterno se il relativo contenuto o scopo è stato modificato.

  1. Nel riquadro di navigazione a sinistra, fare clic su Icona Catalogo principale Catalogo principale.
  2. Nella scheda Cataloghi individuare il catalogo e fare clic su Icona a tre punti Azioni Azioni, quindi fare clic su Rinomina.

    Menu a tre punti Azioni aperto per il catalogo con Rename evidenziato

  3. Modificare il nome del catalogo e premere Invio.

Modifica descrizione catalogo esterno

È possibile modificare la descrizione di un catalogo esterno se il relativo contenuto o scopo è stato modificato.

  1. Nel riquadro di navigazione a sinistra, fare clic su Icona Catalogo principale Catalogo principale.
  2. Nella scheda Cataloghi individuare il catalogo e fare clic su Icona a tre punti Azioni Azioni, quindi fare clic su Modifica descrizione.

    Menu a tre punti Azioni per un catalogo aperto con Modifica descrizione evidenziata

  3. Modificare la descrizione del catalogo e fare clic su Salva.

Modificare la password per un catalogo esterno

È possibile aggiornare la password richiesta per un catalogo esterno in modo che possa continuare ad accedere all'origine.

  1. Nel riquadro di navigazione a sinistra, fare clic su Icona Catalogo principale Catalogo principale.
  2. Nella scheda Cataloghi individuare il catalogo e fare clic su Icona a tre punti Azioni Azioni, quindi fare clic su Modifica password.
  3. Immettere la nuova password per il catalogo esterno e fare clic su Salva.

Elimina un catalogo esterno

È possibile eliminare un catalogo esterno quando non è più necessario.

L'eliminazione di un catalogo esterno elimina solo i metadati memorizzati localmente. I dati nell'origine dati esterna non sono interessati.

  1. Nel riquadro di navigazione a sinistra, fare clic su Icona Catalogo principale Catalogo principale.
  2. Nella scheda Cataloghi individuare il catalogo e fare clic su Icona a tre punti Azioni Azioni, quindi fare clic su Elimina.

    Menu a tre punti Azioni aperto per il catalogo con eliminazione evidenziata

  3. Selezionare Conferma eliminazione dei cataloghi.
  4. Fare clic su Elimina.

Elimina dati dalle tabelle in un catalogo esterno

È possibile utilizzare il percorso di scrittura Spark per eliminare le righe da una tabella catalogo esterna quando il catalogo e la tabella sono configurati per supportare il pushdown SQL DELETE.

Usa ID catalogo per eliminare dati tabella: esempio 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()

Usa ID catalogo per eliminare dati tabella: esempio 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()

Esempio con stile di inclusione per l'eliminazione dei dati della tabella: esempio 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()

Esempio in stile inclusione per l'eliminazione dei dati della tabella: esempio 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()