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à.
La creazione di viste del catalogo dati in Amazon Athena richiede una dichiarazione specialeCREATE VIEW
. La loro interrogazione utilizza la sintassi SQL SELECT
convenzionale. Le visualizzazioni del catalogo dati vengono anche chiamate viste multidialettali, o. MDVs
Creare una visualizzazione del catalogo dati
Per creare una vista del catalogo dati in Athena, usa la seguente sintassi.
CREATE [ OR REPLACE ] PROTECTED MULTI DIALECT VIEW
view_name
SECURITY DEFINER [ SHOW VIEW JSON ] ASathena-sql-statement
Nota
L'SHOW VIEW JSON
opzione si applica solo alle viste del catalogo dati e non alle viste Athena. L'utilizzo dell'SHOW VIEW JSON
opzione esegue una «esecuzione a secco» che convalida l'input e, se la convalida ha esito positivo, restituisce il codice JSON dell'oggetto AWS Glue
tabella che rappresenterà la vista. La vista effettiva non viene creata. Se l'SHOW VIEW JSON
opzione non è specificata, vengono eseguite le convalide e la vista viene creata come di consueto nel Data Catalog.
L'esempio seguente mostra come un utente del Definer
ruolo crea la vista del catalogo orders_by_date
dati. L'esempio presuppone che il ruolo Definer
disponga delle autorizzazioni SELECT
complete sulla tabella orders
del database default
.
CREATE PROTECTED MULTI DIALECT VIEW orders_by_date
SECURITY DEFINER
AS
SELECT orderdate, sum(totalprice) AS price
FROM orders
WHERE order_city = 'SEATTLE'
GROUP BY orderdate
Per informazioni sulla sintassi, vedereCREATE PROTECTED MULTI DIALECT VIEW.
Interroga una vista del catalogo dati
Dopo aver creato la vista, l'Lake Formation
amministratore può concedere SELECT
le autorizzazioni per la visualizzazione del catalogo dati ai Invoker
responsabili. I principali Invoker
possono quindi interrogare la vista senza avere accesso alle tabelle di base sottostanti a cui la vista fa riferimento. Di seguito è riportato un esempio di query Invoker
.
SELECT * from orders_by_date where price > 5000
Considerazioni e limitazioni
La maggior parte delle seguenti limitazioni alla visualizzazione del catalogo dati sono specifiche di Athena. Per ulteriori limitazioni sulle visualizzazioni del Data Catalog che si applicano anche ad altri servizi, consulta la documentazione di Lake Formation.
-
Le viste del catalogo dati non possono fare riferimento ad altre viste, collegamenti alle risorse del database o collegamenti alle risorse delle tabelle.
-
È possibile fare riferimento a un massimo di 10 tabelle nella definizione della vista.
-
Le tabelle non devono avere l'autorizzazione del
IAMAllowedPrincipals
data lake in Lake Formation. Se presente, si verifica l'erroreMulti Dialect views può fare riferimento solo a tabelle senza le autorizzazioni IAMAllowed Principal.
-
La posizione Amazon S3 della tabella deve essere registrata come posizione del data lake Lake Formation. Se la tabella non è così registrata, si verifica l'errore
Multi Dialect views may only reference tables managed tables (Le viste multidialetto possono fare riferimento solo alle tabelle gestite da Lake Formation
). Per informazioni su come registrare le sedi Amazon S3 in Lake Formation, consulta Registrazione di una sede Amazon S3 nella Developer Guide.AWS Lake Formation -
Le chiamate AWS Glue GetTablese SearchTablesAPI non aggiornano il parametro.
IsRegisteredWithLakeFormation
Per visualizzare il valore corretto del parametro, utilizza l' AWS Glue GetTableAPI. Per ulteriori informazioni, SearchTables APIs consultate GetTables e non aggiornate il valore del IsRegisteredWithLakeFormation parametro nella Guida per gli AWS Lake Formation sviluppatori. -
Il principale
DEFINER
può essere solo un ruolo IAM. -
Il ruolo
DEFINER
deve disporre di autorizzazioniSELECT
(concedibili) complete per tutte le tabelle sottostanti. -
Le viste di Catalogo Dati di
UNPROTECTED
non sono supportate. -
Le funzioni definite dall'utente (UDFs) non sono supportate nella definizione della vista.
-
Le origini dati federate Athena non possono essere utilizzate nelle viste di Catalogo Dati.
-
Le viste del catalogo dati non sono supportate per ambienti esterni Hive metastori.
-
Athena visualizza un messaggio di errore quando rileva viste non aggiornate. Una vista obsoleta viene segnalata quando si verifica una delle seguenti operazioni:
-
La vista fa riferimento a tabelle o database che non esistono.
-
Una modifica dello schema o dei metadati viene effettuata in una tabella di riferimento.
-
Una tabella di riferimento viene eliminata e ricreata con uno schema o una configurazione diversa.
-
Autorizzazioni
Le viste di Catalogo Dati richiedono tre ruoli: Lake Formation Admin
, Definer
e Invoker
.
-
Lake Formation Admin
: ha accesso alla configurazione di tutte le autorizzazioni di Lake Formation. -
Definer
: crea la vista di Catalogo Dati. Il ruoloDefiner
deve disporre di autorizzazioniSELECT
complete per tutte le tabelle sottostanti a cui la definizione della vista fa riferimento. -
Invoker
: può interrogare la vista di Catalogo Dati o controllarne i metadati. Per mostrare l'invocatore di una query, puoi usare la funzione DML.invoker_principal()
Per ulteriori informazioni, consulta invoker_principal ().
Le relazioni di fiducia del Definer
ruolo devono consentire l'sts:AssumeRole
azione dei responsabili del servizio AWS Glue e di Lake Formation. Per ulteriori informazioni, consulta Prerequisiti per la creazione di viste nella Guida per gli AWS Lake Formation sviluppatori.
Sono inoltre necessarie le autorizzazioni IAM per l'accesso ad Athena. Per ulteriori informazioni, consulta AWS politiche gestite per Amazon Athena.