Amazon Redshift non supporterà più la creazione di nuove UDF Python a partire dal 1º novembre 2025. Se desideri utilizzare le UDF Python, creale prima di tale data. Le UDF Python esistenti continueranno a funzionare normalmente. Per ulteriori informazioni, consulta il post del blog
Viste del AWS Glue Data Catalog
In questo argomento viene descritto come creare le viste nel AWS Glue Data Catalog. Puoi utilizzare le viste del Catalogo dati per accedere ai dati in diverse origini dati sfruttando lo stesso schema.
Grazie alla creazione di viste nel Catalogo dati, puoi generare un unico schema di vista comune e un oggetto di metadati da utilizzare su più motori, come Amazon Athena e Amazon EMR Spark. In questo modo puoi utilizzare le stesse viste su data lake e data warehouse e adattarle ai tuoi casi d'uso. Le viste nel Catalogo dati sono speciali in quanto sono classificate come viste di definizione, in cui le autorizzazioni di accesso sono definite dall'utente che ha creato la vista anziché dall'utente che esegue la query sulla vista. Di seguito sono riportati alcuni casi d'uso e i vantaggi derivanti dalla creazione di viste nel Catalogo dati:
-
Crea una vista che limiti l'accesso ai dati in base alle autorizzazioni necessarie all'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).
-
Assicurati che gli utenti non possano accedere ai record incompleti. Applicando i filtri alla vista nel Catalogo dati, ti assicuri che i record di dati all'interno di una vista nel Catalogo dati siano sempre completi.
-
Le viste del Catalogo dati includono un vantaggio di sicurezza nel garantire che la definizione della query utilizzata debba essere completata per creare la vista. Questo vantaggio di sicurezza significa che le viste del Catalogo dati non sono suscettibili ai comandi SQL di utenti malintenzionati.
-
Le viste del Catalogo dati offrono gli stessi vantaggi delle viste normali, ad esempio consentono agli utenti di accedere a una vista senza rendere disponibile la tabella sottostante.
Per creare una vista nel Catalogo dati è necessario disporre di una tabella esterna Spectrum, un oggetto contenuto in un'unità di condivisione dati gestita da Lake Formation o una tabella Apache Iceberg.
Le definizioni delle viste del Catalogo dati sono archiviate nel AWS Glue Data Catalog. Utilizza AWS Lake Formation per fornire l'accesso tramite assegnazioni di risorse, assegnazioni di colonne o controlli di accesso basati su tag. Per ulteriori informazioni sull'assegnazione e la revoca dell'accesso a Lake Formation, consulta Granting and revoking permissions on Data Catalog resources.
Quando utilizzi Amazon Redshift per eseguire una query che fa riferimento a tali viste del AWS Glue Data Catalog, Amazon Redshift maschera automaticamente i campi in determinate colonne delle tabelle e delle viste di sistema durante la registrazione di log di metadati relativi a tale query. Per ulteriori informazioni, consulta Registrazione di log sicura nella Guida alla gestione di Amazon Redshift.
Prerequisiti
Prima di poter creare una vista nel Catalogo dati, assicurati di aver soddisfatto i seguenti prerequisiti:
Assicurati che il ruolo IAM abbia la seguente policy di trust.
-
È inoltre necessaria la seguente policy per il passaggio di ruoli.
Infine, sono necessarie anche le seguenti autorizzazioni.
Glue:GetDatabaseGlue:GetDatabasesGlue:CreateTableGlue:GetTableGlue:UpdateTableGlue:DeleteTableGlue:GetTablesGlue:SearchTablesGlue:BatchGetPartitionGlue:GetPartitionsGlue:GetPartitionGlue:GetTableVersionGlue:GetTableVersions
Esempio end-to-end
Inizia creando uno schema esterno basato sul database Catalogo dati.
CREATE EXTERNAL SCHEMA IF NOT EXISTS external_schema FROM DATA CATALOG DATABASE 'external_data_catalog_db' IAM_ROLE 'arn:aws:iam::123456789012:role/sample-role';
Ora puoi creare una vista nel Catalogo dati.
CREATE EXTERNAL PROTECTED VIEW external_schema.remote_view AS SELECT * FROM external_schema.remote_table;
Puoi quindi iniziare a eseguire le query sulla tua vista.
SELECT * FROM external_schema.remote_view;
Per ulteriori informazioni sui comandi SQL relativi alle viste nel Catalogo dati, consulta CREATE EXTERNAL VIEW, ALTER EXTERNAL VIEW e DROP EXTERNAL VIEW.
Considerazioni e limitazioni
Di seguito sono riportate le considerazioni e le limitazioni che si applicano alle viste create nel Catalogo dati.
Le viste del AWS Glue Data Catalog sono supportate solo sui cluster con provisioning RA3 o sui gruppi di lavoro Redshift serverless.
Non è possibile creare una vista del Catalogo dati basata su un'altra vista.
È possibile avere solo 10 tabelle di base in una vista del Catalogo dati.
Il definitore della vista deve disporre delle autorizzazioni
SELECT GRANTABLEcomplete per le tabelle di base.Le viste possono contenere solo oggetti e integrazioni di Lake Formation. I seguenti oggetti non sono consentiti all'interno di una vista.
Tabelle di sistema
Funzioni definite dall'utente (FDU)
Tabelle, viste, viste materializzate e viste con associazione tardiva di Redshift che non si trovano in una condivisione dati gestita da Lake Formation.
Le viste non possono contenere tabelle Redshift Spectrum annidate.
Le rappresentazioni AWS Glue degli oggetti di base di una vista devono trovarsi nello stesso Account AWS e nella stessa regione della vista.