Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Lavorare con AWS Glue Data Catalog le viste in AWS Glue
È possibile creare e gestire le viste in AWS Glue Data Catalog, comunemente note come AWS Glue Data Catalog visualizzazioni. Queste viste sono utili perché supportano più motori di query SQL e consentono di accedere alla stessa vista su AWS servizi diversi, ad esempio Amazon Athena Amazon Redshift, e AWS Glue. È possibile utilizzare le viste basate su Apache Iceberg, Apache Hudi e Delta Lake.
Creando una vista nel Data Catalog, puoi utilizzare le concessioni di risorse e i controlli di accesso basati su tag AWS Lake Formation per concedere l'accesso ad essa. Utilizzando questo metodo di controllo degli accessi, non è necessario configurare un accesso aggiuntivo alle tabelle a cui si fa riferimento durante la creazione della vista. Questo metodo di concessione delle autorizzazioni è chiamato semantica, mentre queste viste sono chiamate viste del definitore. Per ulteriori informazioni sul controllo degli accessi in AWS Lake Formation, consulta Concessione e revoca delle autorizzazioni sulle risorse di Data Catalog nella Guida per gli sviluppatori. AWS Lake Formation
Le viste del Catalogo dati sono utili per i seguenti casi d'uso:
-
Controllo granulare degli accessi: è possibile creare una vista che limiti l'accesso ai dati in base alle autorizzazioni necessarie per l'utente. Ad esempio, puoi utilizzare le viste nel Catalogo dati per impedire ai dipendenti che non lavorano nel reparto delle risorse umane di visualizzare le informazioni di identificazione personale (PII).
-
Definizione completa della vista: applicando determinati filtri alla vista di Catalogo dati, è possibile assicurare che i record di dati disponibili siano sempre completi.
-
Sicurezza avanzata: la definizione delle query utilizzata per creare la vista deve essere completa, in modo che le viste di Catalogo dati siano meno suscettibili all'intervento di soggetti malintenzionati nei comandi SQL.
-
Condivisione semplice dei dati: condividi i dati con altri AWS account senza spostarli, utilizzando la condivisione dei dati tra account in. AWS Lake Formation
Creazione di una vista di Catalogo Dati
Puoi creare viste del catalogo dati utilizzando AWS CLI gli script AWS Glue ETL utilizzando Spark SQL. La sintassi per la creazione di una vista di Catalogo dati include la specificazione del tipo di vista come MULTI DIALECT e del predicato SECURITY come DEFINER, che indica una vista del definitore.
Istruzione SQL di esempio per creare una vista nel Catalogo dati:
CREATE PROTECTED MULTI DIALECT VIEW database_name.catalog_view SECURITY DEFINER AS SELECT order_date, sum(totalprice) AS price FROM source_table GROUP BY order_date;
Dopo aver creato una vista del catalogo dati, puoi utilizzare un ruolo IAM con l'autorizzazione AWS Lake Formation `SELECT` sulla vista per interrogarla da servizi come Amazon Athena, Amazon Redshift o lavori ETL. AWS Glue Non è necessario concedere l'accesso alle tabelle sottostanti a cui si fa riferimento nella vista.
Per ulteriori informazioni sulla creazione e la configurazione delle viste del catalogo dati, consulta Building AWS Glue Data Catalog views nella Developer Guide. AWS Lake Formation
Operazioni supportate per le viste
I seguenti frammenti di comandi mostrano vari modi di lavorare con le viste nel Catalogo dati:
CREA VISUALIZZAZIONE
Crea una vista data-catalog. Di seguito è riportato un esempio che mostra la creazione di una vista da una tabella esistente:
CREATE PROTECTED MULTI DIALECT VIEW catalog_view SECURITY DEFINER AS SELECT * FROM my_catalog.my_database.source_table
ALTER VIEW
Sintassi disponibile:
ALTER VIEW view_name [FORCE] ADD DIALECT AS query ALTER VIEW view_name [FORCE] UPDATE DIALECT AS query ALTER VIEW view_name DROP DIALECT
È possibile utilizzare l'opzione FORCE ADD DIALECT per forzare l'aggiornamento dello schema e degli oggetti secondari secondo il nuovo dialetto del motore. Tieni presente che questa operazione può causare errori di query se non utilizzi anche FORCE per aggiornare altri dialetti del motore. Di seguito è riportato un esempio:
ALTER VIEW catalog_view FORCE ADD DIALECTAS SELECT order_date, sum(totalprice) AS priceFROM source_tableGROUP BY orderdate;
Quello che segue è un esempio di come modificare una vista per aggiornare il dialetto:
ALTER VIEW catalog_view UPDATE DIALECT AS SELECT count(*) FROM my_catalog.my_database.source_table;
DESCRIVI LA VISTA
Sintassi disponibile per descrivere una vista:
SHOW COLUMNS {FROM|IN} view_name [{FROM|IN} database_name]— Se l'utente dispone dei requisiti AWS Glue e AWS Lake Formation delle autorizzazioni per descrivere la vista, può elencare le colonne. Di seguito sono riportati un paio di comandi di esempio per la vista delle colonne:
SHOW COLUMNS FROM my_database.source_table; SHOW COLUMNS IN my_database.source_table;
DESCRIBE view_name— Se l'utente dispone dei requisiti AWS Glue e AWS Lake Formation delle autorizzazioni per descrivere la vista, può elencare le colonne della vista insieme ai relativi metadati.
ELIMINA VISUALIZZAZIONE
Sintassi disponibile:
DROP VIEW [ IF EXISTS ] view_name
L'esempio seguente mostra un'istruzione DROP che verifica l'esistenza di una vista prima di eliminarla:
DROP VIEW IF EXISTS catalog_view;
SHOW CREATE VIEW view_name: mostra l'istruzione SQL che crea la vista specificata. Di seguito è riportato un esempio che mostra la creazione di una vista data-catalog:
SHOW CREATE TABLE my_database.catalog_view;CREATE PROTECTED MULTI DIALECT VIEW my_catalog.my_database.catalog_view ( net_profit, customer_id, item_id, sold_date) TBLPROPERTIES ( 'transient_lastDdlTime' = '1736267222') SECURITY DEFINER AS SELECT * FROM my_database.store_sales_partitioned_lf WHERE customer_id IN (SELECT customer_id from source_table limit 10)
MOSTRA VISUALIZZAZIONI
Elenca tutte le viste del catalogo, ad esempio le viste normali, le viste multi-dialettali (MDV) e le MDV senza il dialetto Spark. La sintassi disponibile è la seguente:
SHOW VIEWS [{ FROM | IN } database_name] [LIKE regex_pattern]:
Il seguente è un comando di esempio per mostrare le viste:
SHOW VIEWS IN marketing_analytics LIKE 'catalog_view*';
Per ulteriori informazioni sulla creazione e la configurazione delle viste del catalogo dati, consulta Building AWS Glue Data Catalog views nella Developer Guide. AWS Lake Formation
Interrogazione di una vista di Catalogo Dati
Dopo aver creato una vista in Catalogo dati, è possibile eseguirvi una query. Il ruolo IAM configurato nei tuoi AWS Glue job deve avere l'autorizzazione Lake Formation SELECT nella vista Data Catalog. Non è necessario concedere l'accesso alle tabelle sottostanti a cui si fa riferimento nella vista.
Dopo aver impostato tutto, è possibile eseguire query sulla vista. Ad esempio, è possibile eseguire la query seguente per accedere a una vista.
SELECT * from my_database.catalog_view LIMIT 10;
Limitazioni
Quando si utilizzano le viste di Catalogo dati, considerare le seguenti limitazioni.
-
Puoi creare viste Data Catalog solo con AWS Glue 5.0 e versioni successive.
-
Il definitore della vista di Catalogo dati deve avere l'accesso
SELECTalle tabelle di base sottostanti a cui la vista accede. La creazione della vista di Catalogo dati non riesce se una tabella base specifica ha dei filtri Lake Formation imposti sul ruolo del definitore. -
Le tabelle di base non devono avere l'autorizzazione
IAMAllowedPrincipalsper il data lake AWS Lake Formation. Se presente, si verifica l'errore Multi Dialect views può fare riferimento solo a tabelle senza le autorizzazioni IAMAllowed Principal. -
La posizione Amazon S3 della tabella deve essere registrata come posizione di AWS Lake Formation data lake. Se la tabella non è registrata, si verifica l'errore
Multi Dialect views may only reference AWS Lake Formation managed tables. Per informazioni su come registrare le sedi Amazon S3 in AWS Lake Formation, consulta Registrazione di una sede Amazon S3 nella Developer Guide. AWS Lake Formation -
Puoi creare solo viste
PROTECTEDin Catalogo dati. Le visteUNPROTECTEDnon sono supportate. -
Non puoi fare riferimento alle tabelle di un altro AWS account in una definizione di visualizzazione del catalogo dati. Inoltre, non puoi fare riferimento a una tabella nello stesso account che si trova in una Regione separata.
-
Per condividere i dati in un account o una Regione, tutta la vista deve essere condivisa in account e Regioni diverse utilizzando i link alle risorse AWS Lake Formation .
-
Le funzioni definite dall'utente (UDFs) non sono supportate.
-
Le viste di Catalogo Dati non possono fare riferimento ad altre viste.