Utilizza le viste di Catalogo Dati in Athena - Amazon Athena

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à.

Utilizza le viste di Catalogo Dati in Athena

La creazione di viste del catalogo dati in Amazon Athena richiede una dichiarazione speciale CREATE VIEW. La loro interrogazione utilizza la sintassi SQL SELECT convenzionale. Le viste del Data Catalog vengono anche chiamate viste multidialettali, o. MDVs

Crea una vista data-catalog.

Per creare una vista Catalogo Dati in Athena, utilizza la sintassi seguente.

CREATE [ OR REPLACE ] PROTECTED MULTI DIALECT VIEW view_name SECURITY DEFINER [ SHOW VIEW JSON ] AS athena-sql-statement
Nota

L’opzione SHOW VIEW JSON si applica solo alle viste del catalogo dati e non alle viste Athena. L’utilizzo dell’SHOW VIEW JSONopzione 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’opzione SHOW VIEW JSON non è specificata, vengono eseguite le convalide e la vista viene creata come di consueto nel Data Catalog.

La sintassi di esempio seguente mostra come un utente del ruolo Definer crea la vista di Catalogo Dati di orders_by_date. 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, consultare la pagina CREATE PROTECTED MULTI DIALECT VIEW.

Interrogazione di una vista di Catalogo Dati

Dopo la creazione della vista, l’amministratore Lake Formation di SELECT può concedere le autorizzazioni per la vista di Catalogo Dati ai principali Invoker. 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 di Catalogo Dati non possono fare riferimento ad altre viste, collegamenti a risorse di database o collegamenti a risorse di tabelle.

  • È possibile fare riferimento a un massimo di 10 tabelle nella definizione della vista.

  • Le tabelle non devono avere l’autorizzazione per il data lake IAMAllowedPrincipals in Lake Formation. Se presente, si verifica l'errore Multi Dialect views può fare riferimento solo a tabelle senza IAMAllowed le autorizzazioni Principal.

  • La posizione Amazon S3 della tabella deve essere registrata come posizione del data lake. Se la tabella non è così registrata, si verifica l’errore Multi Dialect views may only reference tables managed tables Lake Formation. Per informazioni su come registrare le posizioni Amazon S3 in , consultare Registrazione di una posizione Amazon S3AWS Lake Formation nella Guida per gli sviluppatori di .

  • 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 autorizzazioni SELECT (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 di Catalogo Dati non sono supportate per i metastore Hive esterni.

  • 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.

Permissions

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 ruolo Definer deve disporre di autorizzazioni SELECT 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, è possibile utilizzare la funzione DML. invoker_principal() Per ulteriori informazioni, consulta invoker_principal ().

Le relazioni di fiducia del Definer ruolo devono consentire l'sts:AssumeRoleazione dei responsabili del servizio AWS Glue e di Lake Formation. Per ulteriori informazioni, consulta Prerequisiti per la firma delle immagini di  container nella Guida per gli sviluppatori di AWS Lake Formation .

Sono inoltre necessarie le autorizzazioni IAM per l'accesso ad Athena. Per ulteriori informazioni, consulta AWS politiche gestite per Amazon Athena.