Esegui query sui dati esterni con AWS Glue Data Catalog
Autonomous Database supporta un sistema per la sincronizzazione con un'istanza di Amazon AWS Glue Data Catalog.
- Informazioni sull'esecuzione di query con AWS Glue Data Catalog
Autonomous Database consente di eseguire la sincronizzazione con i metadati di Amazon Web Service (AWS) Glue Data Catalog. Una tabella esterna del database viene creata automaticamente da Autonomous Database per ogni tabella raccolta da AWS Glue sui dati memorizzati in Amazon Simple Storage Service (S3). Gli utenti possono eseguire query sui dati memorizzati in S3 da Autonomous Database senza dover derivare manualmente lo schema per le origini dati esterne e creare tabelle esterne. - Concetti relativi all'esecuzione di query con AWS Glue Data Catalog
Per eseguire query con i Data Catalog di colla di Amazon Web Service (AWS) è necessario comprendere i seguenti concetti. - Mapping tra Autonomous Database e AWS Glue
Durante il processo di sincronizzazione, le tabelle esterne vengono create in Autonomous Database derivate dai database e dalle tabelle di AWS Glue Data Catalog su Amazon S3. - Flusso di lavoro degli utenti per l'esecuzione di query con AWS Glue Data Catalog
Il flusso di lavoro degli utenti di base per l'esecuzione di query sui dati AWS S3 con AWS Glue Data Catalog prevede la connessione ad AWS Glue Data Catalog, la sincronizzazione con Autonomous Database per creare automaticamente tabelle esterne e quindi l'esecuzione di query sui dati S3. - Esempio: query con AWS Glue Data Catalog
In questo esempio viene illustrato il processo di esecuzione delle query sui set di dati memorizzati in Amazon Simple Storage Service (Amazon S3) utilizzando un AWS Glue Data Catalog.
Argomento padre: Esegui query sui dati esterni con Autonomous Database
Informazioni sulle query con AWS Glue Data Catalog
Autonomous Database consente di eseguire la sincronizzazione con i metadati di Glue Data Catalog di Amazon Web Service (AWS). Una tabella esterna del database viene creata automaticamente da Autonomous Database per ogni tabella raccolta da AWS Glue sui dati memorizzati in Amazon Simple Storage Service (S3). Gli utenti possono eseguire query sui dati memorizzati in S3 da Autonomous Database senza dover derivare manualmente lo schema per le origini dati esterne e creare tabelle esterne.
Amazon AWS Glue Data Catalog è un servizio di gestione dei metadati centralizzato che aiuta i professionisti dei dati a scoprire i dati e supporta la governance dei dati nel cloud AWS. Un'istanza di Autonomous Database ha la possibilità di sincronizzare automaticamente i metadati del Data Catalog con AWS Glue Data Catalog, consentendo agli utenti del database di utilizzare immediatamente Autonomous Database per eseguire query sui dati memorizzati nel cloud AWS.
La sincronizzazione con AWS Glue Data Catalog ha le stesse proprietà della sincronizzazione con OCI Data Catalog. La sincronizzazione è dinamica, mantenendo il database aggiornato rispetto alle modifiche ai dati sottostanti, riducendo i costi di amministrazione in quanto mantiene automaticamente da centinaia a migliaia di tabelle.
Argomento padre: Esegui query sui dati esterni con AWS Glue Data Catalog
Concetti relativi all'esecuzione di query con AWS Glue Data Catalog
Una comprensione dei seguenti concetti è necessaria per eseguire query con i cataloghi di dati di Amazon Web Service (AWS) Glue.
- Catalogo dati AWS Glue: Database
-
Un database AWS Glue rappresenta una raccolta di definizioni di tabelle relazionali, organizzate in un gruppo logico. Ogni istanza di AWS Glue Data Catalog gestisce più database.
- Catalogo dati AWS Glue: tabella
-
Una tabella AWS Glue rappresenta una tabella relazionale sui dati memorizzati nel cloud AWS. Una tabella AWS Glue definisce lo schema dei dati sottostanti ed è costituita da informazioni sulle colonne, informazioni sulla partizione, informazioni sulla serializzazione, informazioni sullo storage, statistiche, metadati definiti dall'utente e altri metadati. Le tabelle nel catalogo dati AWS Glue possono essere create manualmente o automaticamente utilizzando un crawler AWS Glue.
- Glue Data Catalog: Crawler
-
È possibile utilizzare un crawler per inserire le tabelle nel catalogo dati AWS Glue. Questo è il metodo principale utilizzato dalla maggior parte degli utenti di AWS Glue. Un crawler può eseguire il crawling di più data store in una singola esecuzione. Al termine, il crawler crea o aggiorna una o più tabelle nel Data Catalog. I job ETL (Extract, Transform and Load; estrazione, trasformazione e caricamento) definiti in AWS Glue utilizzano queste tabelle di Data Catalog come origini e destinazioni. Il job ETL legge e scrive nei data store specificati nelle tabelle di Data Catalog di origine e di destinazione.
Le tabelle AWS Glue possono essere create manualmente dall'utente o automaticamente utilizzando un crawler predefinito o personalizzato. I crawler si connettono ai data store sottostanti (ad esempio, Amazon S3), richiamano i classificatori per derivare lo schema dei dati e creano tabelle AWS Glue per memorizzare i metadati derivati. AWS Glue fornisce classificatori per tipi di file comuni, come CSV, JSON, Parquet e AVRO.
Argomento padre: Esegui query sui dati esterni con AWS Glue Data Catalog
Mapping tra Autonomous Database e AWS Glue
Durante il processo di sincronizzazione, vengono create tabelle esterne in Autonomous Database derivate dai database e dalle tabelle di AWS Glue Data Catalog su Amazon S3.
AWS Glue organizza i metadati raccolti in database e tabelle. Un database AWS Glue è una raccolta di definizioni di tabelle relazionali. Tabelle AWS Glue che descrivono lo schema e le proprietà comuni dei file associati alla tabella.
AWS Glue segue il modello relazionale per la rappresentazione degli attributi. Per mapping di schemi gerarchici a schemi relazionali, AWS Glue inserisce lo schema dei dati semi-strutturati e appiattisce i dati in uno schema relazionale utilizzando un processo ETL.
La tabella seguente rappresenta il mapping tra i concetti di OCI Data Catalog e AWS Glue Data Catalog Concepts.
Tabella 3-5 Mapping tra OCI Data Catalog e AWS Glue Data Catalog
OCI Data Catalog | Catalogo dati AWS Glue | Oracle Database |
---|---|---|
Asset dati | Database | Schema |
Cartella | (Bucket) | Schema |
Entità logica | Tabella | Tabella |
Argomento padre: Esegui query sui dati esterni con AWS Glue Data Catalog
Workflow utente per le query con AWS Glue Data Catalog
Il flusso di lavoro utente di base per eseguire query sui dati AWS S3 con AWS Glue Data Catalog prevede la connessione ad AWS Glue Data Catalog, la sincronizzazione con Autonomous Database per creare automaticamente tabelle esterne e quindi l'esecuzione di query sui dati S3.
L'amministratore delle query di Database Data Catalog o l'amministratore del database concede l'accesso READ alle tabelle esterne generate in modo che gli analisti dati e altri utenti del database possano sfogliare ed eseguire query su Autonomous Database senza dover derivare manualmente lo schema per le origini dati esterne e creare tabelle esterne.
Utenti
Nella tabella riportata di seguito vengono descritti i diversi tipi di utenti che eseguono le azioni del workflow utente.
Utente | Descrizione |
---|---|
Amministratore Data Catalog del database | Utente del database con ruolo DCAT_SYNC .
|
Amministratore query Data Catalog database | Utente del database in grado di concedere l'accesso alle tabelle esterne create automaticamente ad altri utenti. |
Analista di dati | Utente del database su Autonomous Database che esegue query sui dati in AWS S3 eseguendo query sulle tabelle esterne create automaticamente o interagendo direttamente con AWS Glue Data Catalog. |
Utente AWS Glue Data Catalog |
Utente AWS con accesso a un AWS Glue Data Catalog. |
Utente di storage degli oggetti AWS S3 |
Utente AWS con accesso ai dati memorizzati in AWS S3 |
Workflow utente
Nella tabella riportata di seguito viene descritta ogni azione inclusa nel workflow e il tipo di utente che può eseguire l'azione.
Il pacchetto
DBMS_DCAT
è disponibile per l'esecuzione delle attività necessarie per eseguire query sullo storage degli oggetti AWS S3 utilizzando AWS Glue Data Catalog. Vedere DBMS_DCAT Package.
Azione | L'utente | Descrizione |
---|---|---|
Crea i criteri | Amministratore Data Catalog del database |
La credenziale utente di Autonomous Database deve disporre delle autorizzazioni appropriate per accedere ad AWS Glue Data Catalog e leggere dallo storage degli oggetti S3. Ulteriori informazioni: Credenziali obbligatorie e criteri IAM. |
Crea credenziali | Amministratore Data Catalog del database |
Assicurarsi che siano disponibili credenziali di database per accedere ad AWS Glue Data Catalog ed eseguire query sullo storage degli oggetti S3. L'utente chiama
DBMS_CLOUD.CREATE_CREDENTIAL per creare le credenziali utente.
Nota
Sono supportate solo le credenziali Amazon Web Services (AWS). Le credenziali dei nomi delle risorse AWS Amazon (ARN) non sono supportate. Ulteriori informazioni: DBMS_CLOUD Procedura CREATE_CREDENTIAL |
Connetti |
Amministratore Data Catalog del database |
Stabilisci una connessione tra un'istanza di Autonomous Database e un'istanza di AWS Glue Data Catalog. La connessione utilizza i privilegi dell'utente AWS Glue Data Catalog. Sono supportate le connessioni da un'istanza di Autonomous Database a più istanze di AWS Glue Data Catalog. Per avviare una connessione tra un'istanza di Autonomous Database e un'istanza di AWS Glue Data Catalog, l'utente:
Una volta stabilita la connessione, Autonomous Database memorizza i metadati associati, ad esempio l'ID del catalogo AWS Glue, l'area, l'endpoint e gli oggetti delle credenziali. Ulteriori informazioni: SET_DATA_CATALOG_CONN Procedura, UNSET_DATA_CATALOG_CONN Procedura, SET_DATA_CATALOG_CREDENTIAL Procedura, SET_OBJECT_STORE_CREDENTIAL Procedura. |
Sincronizza |
Amministratore Data Catalog del database |
L'utente può avviare manualmente una sincronizzazione con i Data Catalog AWS Glue connessi utilizzando La sincronizzazione effettua le operazioni riportate di seguito.
Ulteriori informazioni: vedere RUN_SYNC Procedure, CREATE_SYNC_JOB Procedure, DROP_SYNC_JOB Procedure, Mapping sincronizzazione
|
Monitoraggio sincronizzazione |
Amministratore Data Catalog del database |
L'utente può visualizzare lo stato di sincronizzazione eseguendo una query sulla vista USER_LOAD_OPERATIONS . Al termine del processo di sincronizzazione, l'utente può visualizzare un log dei risultati della sincronizzazione, inclusi i dettagli sui mapping alle tabelle esterne.
Ulteriori informazioni: Monitoraggio e risoluzione dei problemi dei carichi |
Concedi privilegi |
Amministratore query Data Catalog database, amministratore database |
L'amministratore delle query di Data Catalog del database o l'amministratore del database deve concedere privilegi READ sulle tabelle esterne generate agli utenti dell'analista dei dati. Ciò consente agli analisti di dati di eseguire query sulle tabelle esterne generate. |
Interrogazione |
Analista di dati |
Gli analisti di dati sono in grado di rivedere gli schemi e le tabelle sincronizzati negli schemi GLUE$* ed eseguire query sulle tabelle esterne tramite qualsiasi strumento o applicazione che supporti Oracle SQL. Si accede ai dati in S3 utilizzando i privilegi dell'utente di storage degli oggetti AWS S3. Ulteriori informazioni: Esempio: query con AWS Glue Data Catalog |
Termina connessioni |
Amministratore Data Catalog del database |
Per rimuovere un'associazione Data Catalog esistente, l'utente richiama la procedura Questa azione viene eseguita solo quando non si prevede più di utilizzare il catalogo dati AWS Glue connesso e le tabelle esterne derivate dal catalogo. Questa azione elimina i metadati di AWS Glue Data Catalog ed elimina le tabelle esterne sincronizzate dall'istanza di Autonomous Database. Ulteriori informazioni: UNSET_DATA_CATALOG_CONN Procedura |
Argomento padre: Esegui query sui dati esterni con AWS Glue Data Catalog
Esempio: query con AWS Glue Data Catalog
In questo esempio viene illustrato il processo di esecuzione delle query sui set di dati memorizzati in Amazon Simple Storage Service (Amazon S3) utilizzando un AWS Glue Data Catalog.
In questo esempio, i metadati in un AWS Glue Data Catalog vengono ispezionati per vedere quali oggetti Amazon S3 sono stati precedentemente sottoposti a scansione ed esistono nel Data Catalog. Autonomous Database viene quindi associato ad AWS Glue Data Catalog e Amazon S3. Il Data Catalog viene sincronizzato con Autonomous Database per creare tabelle esterne sui set di dati memorizzati in Amazon S3. Le tabelle esterne vengono utilizzate per eseguire query sui set di dati in Amazon S3.
- Analizza i metadati in AWS Glue Data Catalog.
- Avviare la console AWS Glue.
Descrizione dell'immagine glue_console.png - Passare al Data Catalog, ai database e alle tabelle per trovare gli oggetti esistenti.
In questo esempio, alcuni oggetti esistono in Amazon S3 per i quali AWS Glue ha precedentemente eseguito il crawling e creato tabelle come mostrato di seguito:
Descrizione dell'immagine glue_tables.png
- Avviare la console AWS Glue.
- Associa AWS Glue ad Autonomous Database.
- Creare le credenziali in Autonomous Database.
La chiamata di procedura riportata di seguito include l'ID di accesso e la chiave segreta per fornire ad Autonomous Database l'accesso ai dati di base in Amazon S3.
exec dbms_cloud.create_credential('CRED_AWS','<access id>', '<access key>');
- Associare le credenziali a AWS Glue Data Catalog e allo storage degli oggetti Amazon S3.
Queste chiamate di procedura associano rispettivamente il Data Catalog e lo storage degli oggetti alle credenziali.
exec dbms_dcat.set_data_catalog_credential('CRED_AWS'); exec dbms_dcat.set_object_store_credential('CRED_AWS');
- Imposta un'area AWS in cui Glue è in esecuzione.
exec dbms_dcat.set_data_catalog_conn(region => 'us-west-2', catalog_type=>'AWS_GLUE');
- Creare le credenziali in Autonomous Database.
- Sincronizza i metadati per creare tabelle esterne in Autonomous Database derivate da database e tabelle AWS Glue.
- Al termine dell'associazione, utilizzare la vista
all_glue_databases
per trovare i database all'interno di un AWS Glue Data Catalog.select * from all_glue_databases order by name;
- Utilizzare la vista
all_glue_tables
per ottenere una lista di tabelle disponibili per la sincronizzazione.select * from all_glue_tables order by database_name, name;
- Sincronizza Autonomous Database con due tabelle,
store
eitem
, trovate nel databaseparq
.begin dbms_dcat.run_sync( synced_objects => ' { "database_list": [ { "database": "parq", "table_list": ["store","item"] } ] }', error_semantics => 'STOP_ON_ERROR'); end; /
- Al termine dell'associazione, utilizzare la vista
- Analizza i nuovi oggetti in Autonomous Database ed esegui una query su S3.
- Utilizzare SQL Developer per visualizzare i nuovi oggetti creati dall'operazione di sincronizzazione precedente.
Lo schema
GLUE$PARQ_TPCDS_ORACLE_PARQ
è stato generato e denominato automaticamente dalla chiamata di proceduradbms_dcat.run_sync
.
Descrizione dell'immagine glue_sql_dev.png - Eseguire una query SQL sugli archivi di set di dati in Amazon S3.
SELECT * FROM glue$parq_tpcds_oracle_parq.store;
- Utilizzare SQL Developer per visualizzare i nuovi oggetti creati dall'operazione di sincronizzazione precedente.
Argomento padre: Esegui query sui dati esterni con AWS Glue Data Catalog