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à.
Creazione di un data lake da un' AWS CloudTrail origine
Questo tutorial ti guida attraverso le azioni da intraprendere sulla console Lake Formation per creare e caricare il tuo primo data lake da una AWS CloudTrail fonte.
Passaggi di alto livello per la creazione di un data lake
Registra un percorso Amazon Simple Storage Service (Amazon S3) come data lake.
Concedi a Lake Formation le autorizzazioni per scrivere nel Data Catalog e nelle posizioni Amazon S3 nel data lake.
Crea un database per organizzare le tabelle di metadati nel Data Catalog.
Usa un blueprint per creare un flusso di lavoro. Esegui il flusso di lavoro per importare dati da una fonte di dati.
-
Configura le tue autorizzazioni Lake Formation per consentire ad altri di gestire i dati nel Data Catalog e nel data lake.
Configura Amazon Athena per interrogare i dati che hai importato nel tuo data lake Amazon S3.
Per alcuni tipi di data store, configura Amazon Redshift Spectrum per interrogare i dati che hai importato nel tuo data lake Amazon S3.
Argomenti
- Destinatari principali
- Prerequisiti
- Fase 1: Creare un utente analista di dati
- Passaggio 2: Aggiungere le autorizzazioni per leggere i AWS CloudTrail registri al ruolo del flusso di lavoro
- Fase 3: creare un bucket Amazon S3 per il data lake
- Fase 4: Registrare un percorso Amazon S3
- Passaggio 5: concedere le autorizzazioni per la localizzazione dei dati
- Fase 6: Creare un database nel Data Catalog
- Passaggio 7: concedere le autorizzazioni per i dati
- Fase 8: Utilizzare un blueprint per creare un flusso di lavoro
- Passaggio 9: Esegui il flusso di lavoro
- Fase 10: Concessione SELECT ai tavoli
- Passaggio 11: interrogare il data lake utilizzando Amazon Athena
Destinatari principali
La tabella seguente elenca i ruoli utilizzati in questo tutorial per creare un data lake.
Ruolo | Descrizione |
---|---|
IAMAmministratore | Ha la politica AWS gestita:AdministratorAccess . Può creare IAM ruoli e bucket Amazon S3. |
Amministratore del data lake | Utente che può accedere al catalogo dati, creare database e concedere autorizzazioni Lake Formation ad altri utenti. Dispone di meno IAM autorizzazioni rispetto all'IAMamministratore, ma sufficienti per amministrare il data lake. |
Analista dei dati | Utente che può eseguire query sul data lake. Dispone solo delle autorizzazioni sufficienti per eseguire le query. |
Ruolo del workflow | Ruolo con le IAM politiche richieste per eseguire un flusso di lavoro. Per ulteriori informazioni, consulta (Facoltativo) Crea un ruolo per i flussi di lavoro IAM. |
Prerequisiti
Prima di iniziare:
-
Assicurati di aver completato le attività inConfigurare AWS Lake Formation.
-
Conosci la posizione dei tuoi CloudTrail registri.
-
Athena richiede all'analista di dati di creare un bucket Amazon S3 per archiviare i risultati delle query prima di utilizzare Athena.
Si presume la familiarità con (). AWS Identity and Access Management IAM Per informazioni suIAM, consulta la Guida per l'IAMutente.
Fase 1: Creare un utente analista di dati
Questo utente dispone del set minimo di autorizzazioni per interrogare il data lake.
-
Apri la console IAM all'indirizzo https://console.aws.amazon.com/iam
. Accedi come utente amministratore che hai creato Crea un utente con accesso amministrativo o come utente con la policy AdministratorAccess
AWS gestita. -
Crea un utente denominato
datalake_user
con le seguenti impostazioni:-
Abilita AWS Management Console l'accesso.
-
Imposta una password e non richiedi la reimpostazione della password.
-
Allega la politica
AmazonAthenaFullAccess
AWS gestita. -
Allega la seguente politica in linea. Assegnare un nome alla policy
DatalakeUserBasic
.{ "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": "*" } ] }
-
Passaggio 2: Aggiungere le autorizzazioni per leggere i AWS CloudTrail registri al ruolo del flusso di lavoro
-
Allega la seguente politica in linea al ruolo.
LakeFormationWorkflowRole
La policy concede il permesso di leggere i tuoi AWS CloudTrail log. Assegnare un nome alla policyDatalakeGetCloudTrail
.Per creare il ruolo
LakeFormationWorkflowRole
, consulta (Facoltativo) Crea un ruolo per i flussi di lavoro IAM.Importante
Replace (Sostituisci)
<your-s3-cloudtrail-bucket>
con la posizione dei tuoi CloudTrail dati su Amazon S3.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:GetObject", "Resource": ["arn:aws:s3:::
<your-s3-cloudtrail-bucket>
/*"] } ] } -
Verifica che al ruolo siano associate tre policy.
Fase 3: creare un bucket Amazon S3 per il data lake
Crea il bucket Amazon S3 che sarà la posizione principale del tuo data lake.
-
Apri la console Amazon S3 all'indirizzo https://console.aws.amazon.com/s3/
e accedi come utente amministratore con cui hai creato. Crea un utente con accesso amministrativo -
Scegli Crea bucket e segui la procedura guidata per creare un bucket denominato, dove
<yourName>
-datalake-cloudtrail<yourName>
è la tua prima iniziale e il tuo cognome. Ad esempio:jdoe-datalake-cloudtrail
.Per istruzioni dettagliate sulla creazione di un bucket Amazon S3, consulta Creazione di un bucket.
Fase 4: Registrare un percorso Amazon S3
Registra un percorso Amazon S3 come posizione principale del tuo data lake.
-
Apri la console Lake Formation all'indirizzo https://console.aws.amazon.com/lakeformation/
. Accedi come amministratore del data lake. -
Nel riquadro di navigazione, in Registra e inserisci, scegli Data lake locations.
-
Scegli Registra posizione e poi Sfoglia.
-
Seleziona il
bucket che hai creato in precedenza, accetta il IAM ruolo predefinito<yourName>
-datalake-cloudtrailAWSServiceRoleForLakeFormationDataAccess
, quindi scegli Registra posizione.Per ulteriori informazioni sulla registrazione delle sedi, consulta. Aggiungere una posizione Amazon S3 al tuo data lake
Passaggio 5: concedere le autorizzazioni per la localizzazione dei dati
I responsabili devono disporre delle autorizzazioni di localizzazione dei dati su una posizione di data lake per creare tabelle o database di Data Catalog che puntano a tale posizione. È necessario concedere le autorizzazioni per la localizzazione dei dati al IAM ruolo per i flussi di lavoro in modo che il flusso di lavoro possa scrivere nella destinazione di inserimento dei dati.
-
Nel riquadro di navigazione, in Autorizzazioni, scegli Posizioni dei dati.
-
Scegli Concedi e, nella finestra di dialogo Concedi autorizzazioni, effettua le seguenti selezioni:
-
Per IAMutenti e ruoli, scegliete.
LakeFormationWorkflowRole
-
Per le posizioni di archiviazione, scegli il tuo
bucket.<yourName>
-datalake-cloudtrail
-
-
Scegli Concessione.
Per ulteriori informazioni sulle autorizzazioni per la localizzazione dei dati, consulta. Underlying data access control
Fase 6: Creare un database nel Data Catalog
Le tabelle di metadati nel Lake Formation Data Catalog sono archiviate all'interno di un database.
-
Nel riquadro di navigazione, in Catalogo dati, scegli Database.
-
Scegli Crea database e in Dettagli del database, inserisci il nome
lakeformation_cloudtrail
. -
Lascia vuoti gli altri campi e scegli Crea database.
Passaggio 7: concedere le autorizzazioni per i dati
È necessario concedere le autorizzazioni per creare tabelle di metadati nel Catalogo dati. Poiché il flusso di lavoro verrà eseguito con il ruoloLakeFormationWorkflowRole
, è necessario concedere queste autorizzazioni al ruolo.
-
Nella console Lake Formation, nel riquadro di navigazione, in Catalogo dati, scegli Databases.
-
Scegli il
lakeformation_cloudtrail
database, quindi, dall'elenco a discesa Azioni, scegli Concedi sotto la voce Autorizzazioni. -
Nella finestra di dialogo Concedi le autorizzazioni per i dati, effettua le seguenti selezioni:
-
In Principali, per IAMutenti e ruoli, scegli.
LakeFormationWorkflowRole
-
In LF-tags o Catalog resources, scegli Named data catalog resources.
-
Per i database, dovresti vedere che il
lakeformation_cloudtrail
database è già stato aggiunto. -
In Autorizzazioni del database, seleziona Crea tabella, Alter e Drop e deseleziona Super se è selezionato.
La finestra di dialogo Concedi le autorizzazioni per i dati ora dovrebbe avere l'aspetto di questa schermata.
-
-
Scegli Concessione.
Per ulteriori informazioni sulla concessione delle autorizzazioni di Lake Formation, vedere. Gestione delle autorizzazioni di Lake Formation
Fase 8: Utilizzare un blueprint per creare un flusso di lavoro
Per leggere CloudTrail i log, comprenderne la struttura, creare le tabelle appropriate nel Data Catalog, dobbiamo impostare un flusso di lavoro composto da AWS Glue crawler, lavori, trigger e flussi di lavoro. I progetti di Lake Formation semplificano questo processo.
Il flusso di lavoro genera i job, i crawler e i trigger che rilevano e inseriscono i dati nel tuo data lake. Crei un flusso di lavoro basato su uno dei blueprint predefiniti di Lake Formation.
-
Nella console di Lake Formation, nel pannello di navigazione, scegli Blueprints, quindi scegli Usa blueprint.
-
Nella pagina Usa un blueprint, in Tipo di blueprint, scegli. AWS CloudTrail
-
In Importa fonte, scegli una CloudTrail fonte e una data di inizio.
-
In Import target, specifica questi parametri:
Database di destinazione lakeformation_cloudtrail
Posizione di archiviazione di destinazione s3://
<yourName>
-datalake-cloudtrailFormato dei dati Parquet -
Per la frequenza di importazione, scegli Esegui su richiesta.
-
In Opzioni di importazione, specificate questi parametri:
Nome del flusso di lavoro lakeformationcloudtrailtest
IAMruolo LakeFormationWorkflowRole
prefisso della tabella cloudtrailtest
Nota
Deve essere in minuscolo.
-
Scegli Crea e attendi che la console segnali che il flusso di lavoro è stato creato correttamente.
Suggerimento
Hai ricevuto il seguente messaggio di errore?
User: arn:aws:iam::
<account-id>
:user/<datalake_administrator_user>
is not authorized to perform: iam:PassRole on resource:arn:aws:iam::<account-id>
:role/LakeFormationWorkflowRole...In tal caso, verifica di averlo sostituito
<account-id>
nella politica in linea per l'utente amministratore del data lake con un numero di AWS account valido.
Passaggio 9: Esegui il flusso di lavoro
Poiché hai specificato che il flusso di lavoro è run-on-demand, devi avviarlo manualmente.
-
Nella pagina Blueprint, seleziona il flusso di lavoro
lakeformationcloudtrailtest
e nel menu Azioni scegli Avvia.Durante l'esecuzione del flusso di lavoro, è possibile visualizzarne l'avanzamento nella colonna Stato dell'ultima esecuzione. Scegli il pulsante di aggiornamento di tanto in tanto.
Lo stato va da RUNNING, a In scoperta, a Importazione, a. COMPLETED
Al termine del flusso di lavoro:
-
Il Data Catalog avrà nuove tabelle di metadati.
-
CloudTrail I log verranno inseriti nel data lake.
Se il flusso di lavoro fallisce, procedi come segue:
-
Seleziona il flusso di lavoro e nel menu Azioni scegli Visualizza grafico.
Il flusso di lavoro viene aperto nel AWS Glue console.
-
Verifica che il flusso di lavoro sia selezionato e scegli la scheda History (Cronologia).
-
In Cronologia, seleziona l'esecuzione più recente e scegli Visualizza i dettagli della corsa.
-
Seleziona un processo o un crawler non riuscito nel grafico dinamico (di runtime) ed esamina il messaggio di errore. I nodi con errori sono rossi o gialli.
-
Fase 10: Concessione SELECT ai tavoli
È necessario concedere l'SELECT
autorizzazione per le nuove tabelle del Catalogo dati in modo che l'analista dei dati possa interrogare i dati a cui fanno riferimento le tabelle.
Nota
Un flusso di lavoro concede automaticamente l'SELECT
autorizzazione per le tabelle che crea all'utente che lo ha eseguito. Poiché l'amministratore del data lake ha eseguito questo flusso di lavoro, è necessario concederlo SELECT
all'analista dei dati.
-
Nella console Lake Formation, nel riquadro di navigazione, in Catalogo dati, scegli Databases.
-
Scegli il
lakeformation_cloudtrail
database, quindi, dall'elenco a discesa Azioni, scegli Concedi sotto la voce Autorizzazioni. -
Nella finestra di dialogo Concedi le autorizzazioni per i dati, effettua le seguenti selezioni:
-
In Principali, per IAMutenti e ruoli, scegli.
datalake_user
-
In LF-tags o Catalog resources, scegli Named data catalog resources.
-
Per Databases, il
lakeformation_cloudtrail
database dovrebbe essere già selezionato. -
Per Tabelle, scegliete
cloudtrailtest-cloudtrail
. -
In Autorizzazioni per tabelle e colonne, scegli Seleziona.
-
-
Scegli Concessione.
Il passaggio successivo viene eseguito come analista dei dati.
Passaggio 11: interrogare il data lake utilizzando Amazon Athena
Usa la Amazon Athena console per interrogare i CloudTrail dati nel tuo data lake.
-
Apri la console Athena all'indirizzo https://console.aws.amazon.com/athena/
e accedi come analista di dati, utente. datalake_user
-
Se necessario, scegli Inizia per passare all'editor di query Athena.
-
Per Origine dati scegliere AwsDataCatalog.
-
Per Database, scegliere
lakeformation_cloudtrail
.L'elenco delle tabelle viene compilato.
-
Nel menu a discesa (3 punti disposti orizzontalmente) accanto alla tabella
cloudtrailtest-cloudtrail
, scegliete Anteprima tabella, quindi scegliete Esegui.La query viene eseguita e visualizza 10 righe di dati.
Se non hai mai usato Athena in precedenza, devi prima configurare una posizione Amazon S3 nella console Athena per archiviare i risultati delle query.
datalake_user
È necessario disporre delle autorizzazioni necessarie per accedere al bucket Amazon S3 scelto.
Nota
Ora che hai completato il tutorial, concedi le autorizzazioni per i dati e le autorizzazioni per la localizzazione dei dati ai responsabili della tua organizzazione.