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à.
È 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 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 per concedere l'accesso ad AWS Lake Formation 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 si chiama definer semantics e queste viste sono chiamate definer views. Per ulteriori informazioni sul controllo degli accessi in AWS Lake Formation, consulta Concessione e revoca delle autorizzazioni sulle risorse del Data Catalog nella Guida per gli sviluppatori. AWS Lake Formation
Le visualizzazioni del Data Catalog sono utili per i seguenti casi d'uso:
-
Controllo granulare degli accessi: è possibile creare una visualizzazione che limiti l'accesso ai dati in base alle autorizzazioni necessarie all'utente. Ad esempio, puoi utilizzare le visualizzazioni del Data Catalog per impedire ai dipendenti che non lavorano nel reparto risorse umane di visualizzare informazioni di identificazione personale (PII).
-
Definizione completa della vista: applicando filtri alla visualizzazione nel Data Catalog, ti assicuri che i record di dati disponibili nella visualizzazione siano sempre completi.
-
Sicurezza avanzata: la definizione della query utilizzata per creare la vista deve essere completa, in modo che le viste del catalogo dati siano meno suscettibili ai comandi SQL di attori malintenzionati.
-
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 del catalogo dati include la specificazione del tipo di vista as MULTI DIALECT
e del SECURITY
predicato asDEFINER
, che indica una vista definente.
Esempio di istruzione SQL per creare una vista del 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 AWS Glue ETL. 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 Data Catalog, consulta Building AWS Glue Data Catalog views nella AWS Lake Formation Developer Guide.
Operazioni di visualizzazione supportate
I seguenti frammenti di comandi mostrano vari modi di lavorare con le viste del catalogo dati:
CREA VISTA
Crea una vista del catalogo di dati. 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
MODIFICA VISTA
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'FORCE ADD DIALECT
opzione 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 lo utilizzi anche FORCE
per aggiornare altri dialetti del motore. Di seguito viene mostrato un esempio:
ALTER VIEW catalog_view FORCE ADD DIALECTAS
SELECT order_date, sum(totalprice) AS priceFROM source_tableGROUP BY orderdate;
Quanto segue mostra 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 visualizzazione 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 VISTA
Sintassi disponibile:
DROP VIEW [ IF EXISTS ] view_name
L'esempio seguente mostra un'DROP
istruzione 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 del catalogo di dati:
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 viste normali, visualizzazioni multidialettali (MDV) e MDV senza dialetto Spark. La sintassi disponibile è la seguente:
SHOW VIEWS [{ FROM | IN } database_name] [LIKE regex_pattern]:
Di seguito viene illustrato 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 del catalogo dati, puoi interrogare la vista. 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, puoi interrogare la tua vista. Ad esempio, puoi eseguire la seguente query per accedere a una vista.
SELECT * from my_database.catalog_view LIMIT 10;
Limitazioni
Considerate le seguenti limitazioni quando utilizzate le viste del catalogo dati.
-
È possibile creare viste Data Catalog solo con AWS Glue 5.0 e versioni successive.
-
Il definitore della vista del catalogo dati deve avere
SELECT
accesso alle tabelle di base sottostanti a cui si accede dalla vista. La creazione della vista Data Catalog non riesce se una tabella base specifica ha dei filtri Lake Formation imposti sul ruolo di definizione. -
Le tabelle di base non devono avere l'autorizzazione per il
IAMAllowedPrincipals
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,
Multi Dialect views may only reference AWS Lake Formation managed tables
si verifica l'errore. 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 del catalogo
PROTECTED
dati.UNPROTECTED
le visualizzazioni non sono supportate. -
Non è possibile 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 tra un account o un'area geografica, l'intera vista deve essere condivisa tra account e regioni diverse, utilizzando i link alle AWS Lake Formation risorse.
-
Le funzioni definite dall'utente (UDFs) non sono supportate.
-
Non è possibile fare riferimento ad altre viste nelle viste del catalogo dati.