Passaggio 12: interroga i dati nel data lake utilizzando Amazon Redshift Spectrum - AWS Lake Formation

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

Passaggio 12: interroga i dati nel data lake utilizzando Amazon Redshift Spectrum

Puoi configurare Amazon Redshift Spectrum per interrogare i dati che hai importato nel tuo data lake Amazon Simple Storage Service (Amazon S3). Innanzitutto, crea un ruolo AWS Identity and Access Management (IAM) da utilizzare per avviare il cluster Amazon Redshift e per interrogare i dati di Amazon S3. Quindi, concedi a questo ruolo le Select autorizzazioni sulle tabelle che desideri interrogare. Quindi, concedi all'utente le autorizzazioni per utilizzare l'editor di query di Amazon Redshift. Infine, crea un cluster Amazon Redshift ed esegui le query.

Crei il cluster come amministratore e interroghi il cluster come analista di dati.

Per ulteriori informazioni su Amazon Redshift Spectrum, consulta Using Amazon Redshift Spectrum to External Data nella Amazon Redshift Database Developer Guide.

Per configurare le autorizzazioni per eseguire le query su Amazon Redshift
  1. Aprire la console IAM all'indirizzo https://console.aws.amazon.com/iam/. Accedi come utente amministratore in cui hai creato Crea un utente con accesso amministrativo (nome utenteAdministrator) o come utente con la AdministratorAccess AWS policy gestita.

  2. Nel pannello di navigazione, selezionare Policy.

    Se è la prima volta che selezioni Policy, verrà visualizzata la pagina Benvenuto nelle policy gestite. Seleziona Inizia.

  3. Scegli Crea policy.

  4. Scegliere la scheda JSON.

  5. Incolla il seguente documento di policy JSON.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "glue:GetTable", "glue:GetTables", "glue:SearchTables", "glue:GetDatabase", "glue:GetDatabases", "glue:GetPartitions", "lakeformation:GetResourceLFTags", "lakeformation:ListLFTags", "lakeformation:GetLFTag", "lakeformation:SearchTablesByLFTags", "lakeformation:SearchDatabasesByLFTags" ], "Resource": "*" } ] }
  6. Una volta terminato, selezionare Review (Rivedi) per rivedere la policy. In Validatore di policy vengono segnalati eventuali errori di sintassi.

  7. Nella pagina Rivedi la politica, inserisci RedshiftLakeFormationPolicy il nome della politica che stai creando. (Opzionale) Immettere una Description (descrizione). Consulta il Summary (Riepilogo) della policy per visualizzare le autorizzazioni concesse dalla policy. Seleziona Create policy (Crea policy) per salvare il proprio lavoro.

  8. Nel pannello di navigazione della console IAM, scegliere Ruoli e quindi Crea ruolo.

  9. In Seleziona tipo di entità attendibile, scegli Servizio AWS .

  10. Scegliere il servizio Amazon Redshift per assumere questo ruolo.

  11. Selezionare il caso d'uso Redshift Customizable (Redshift personalizzabile) per il servizio. Quindi scegliere Next: Permissions (Successivo: Autorizzazioni).

  12. Cerca la politica di autorizzazione che hai creato e seleziona la casella di controllo accanto al nome della politica nell'elenco. RedshiftLakeFormationPolicy

  13. Scegliere Next: Tags (Successivo: Tag).

  14. Scegliere Next:Review (Successivo: Rivedi).

  15. In Role name (Nome ruolo), inserire il nome RedshiftLakeFormationRole.

  16. (Facoltativo) In Descrizione ruolo, immettere una descrizione per il nuovo ruolo.

  17. Verificare il ruolo e quindi scegliere Create role (Crea ruolo).

Per concedere Select le autorizzazioni sulla tabella da interrogare nel database Lake Formation
  1. Aprire la console Lake Formation all'indirizzo https://console.aws.amazon.com/lakeformation/. Accedi come amministratore del data lake.

  2. Nel riquadro di navigazione, in Autorizzazioni, scegli Autorizzazioni Data lake, quindi scegli Concedi.

  3. Inserisci le informazioni che seguono:

    • Per gli utenti e i ruoli IAM, scegli il ruolo IAM che hai creato,. RedshiftLakeFormationRole Quando si esegue l'editori di query di Amazon Redshift, utilizzare il ruolo IAM per le autorizzazioni ai dati.

    • Per Database, scegliere lakeformation_tutorial.

      L'elenco delle tabelle viene compilato.

    • Per Tabella, scegli una tabella all'interno della fonte di dati da interrogare.

    • Scegliete l'autorizzazione Seleziona tabella.

  4. Scegli Concessione.

Per configurare Amazon Redshift Spectrum ed eseguire query
  1. Apri la console Amazon Redshift all'indirizzo. https://console.aws.amazon.com/redshift Accedi come utenteAdministrator.

  2. Scegli Create cluster (Crea cluster).

  3. Nella pagina Crea cluster, inserisci redshift-lakeformation-demo l'identificatore del cluster.

  4. Per il tipo di nodo, seleziona dc2.large.

  5. Scorri verso il basso e, in Configurazioni del database, inserisci o accetta questi parametri:

    • Nome utente dell'amministratore: awsuser

    • Password utente amministratore: (Choose a password)

  6. Espandi le autorizzazioni del cluster e, per i ruoli IAM disponibili, scegli RedshiftLakeFormationRole. Scegli Add IAM role (Aggiungi ruolo IAM).

  7. Se devi utilizzare una porta diversa dal valore predefinito 5439, accanto a Configurazioni aggiuntive, disattiva l'opzione Usa valori predefiniti. Espandi la sezione relativa alle configurazioni del database e inserisci un nuovo numero di porta del database.

  8. Scegli Create cluster (Crea cluster).

    Viene caricata la pagina Cluster.

  9. Attendi che lo stato del cluster diventi Disponibile. Scegli periodicamente l'icona di aggiornamento.

  10. Concedi all'analista dei dati l'autorizzazione a eseguire query sul cluster. Per fare ciò, completare questa procedura:

    1. Apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/ e accedi come utente. Administrator

    2. Nel riquadro di navigazione, scegli Utenti e allega all'utente le seguenti politiche gestitedatalake_user.

      • AmazonRedshiftQueryEditor

      • AmazonRedshiftReadOnlyAccess

  11. Esci dalla console Amazon Redshift e accedi nuovamente come utente. datalake_user

  12. Nella barra degli strumenti verticale a sinistra, scegli l'icona EDITOR per aprire l'editor di query e connetterti al cluster. Se viene visualizzata la finestra di dialogo Connetti al database, scegliete il nome redshift-lakeformation-demo del cluster e immettete il nome dev del databaseawsuser, il nome utente e la password che avete creato. Quindi scegli Connect to database (Collegati al database).

    Nota

    Se non ti vengono richiesti i parametri di connessione e nell'editor di query è già selezionato un altro cluster, scegli Cambia connessione per aprire la finestra di dialogo Connetti al database.

  13. Nella casella di testo New Query 1, inserisci ed esegui la seguente istruzione per mappare il database lakeformation_tutorial in Lake Formation al nome dello schema Amazon Redshift: redshift_jdbc

    Importante

    <account-id>Sostituiscilo con un numero di AWS account valido e <region>con un nome di AWS regione valido (ad esempio,us-east-1).

    create external schema if not exists redshift_jdbc from DATA CATALOG database 'lakeformation_tutorial' iam_role 'arn:aws:iam::<account-id>:role/RedshiftLakeFormationRole' region '<region>';
  14. Nell'elenco degli schemi in Seleziona schema, scegliete redshift_jdbc.

    L'elenco delle tabelle viene compilato. L'editor di query mostra solo le tabelle per le quali ti sono state concesse le autorizzazioni per il data lake di Lake Formation.

  15. Nel menu a comparsa accanto al nome di una tabella, scegli Anteprima dati.

    Amazon Redshift restituisce le prime 10 righe.

    Ora puoi eseguire query sulle tabelle e sulle colonne per le quali disponi delle autorizzazioni.