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à.
Avvio rapido: esecuzione di query sui dati in Amazon S3
Gli utenti possono analizzare i dati archiviati in Amazon S3 eseguendo query SQL da JupyterLab notebook utilizzando l'estensione SQL. L’estensione si integra con Athena e consente di abilitare la funzionalità per i dati in Amazon S3 con pochi passaggi aggiuntivi.
Questa sezione illustra i passaggi per caricare i dati da Amazon S3 in Athena e quindi interrogare tali dati JupyterLab utilizzando l'estensione SQL. Creerai un'origine dati e un AWS Glue crawler Athena per indicizzare i tuoi dati Amazon S3, configurerai le autorizzazioni IAM appropriate per consentire l' JupyterLab accesso ad Athena e JupyterLab ti connetterai ad Athena per interrogare i dati. Seguendo questi pochi passaggi, sarai in grado di analizzare i dati di Amazon S3 utilizzando l'estensione SQL nei JupyterLab notebook.
Prerequisiti
-
Accedi alla console di AWS gestione utilizzando un account utente AWS Identity and Access Management (IAM) con autorizzazioni di amministratore. Per informazioni su come registrare un account AWS e creare un utente con accesso amministrativo, consulta Prerequisiti completi per Amazon SageMaker AI.
-
Disponi di un dominio SageMaker AI e di un profilo utente per accedere a SageMaker Studio. Per informazioni su come impostare un ambiente di SageMaker intelligenza artificiale, consultaUsa la configurazione rapida per Amazon SageMaker AI.
-
Disponi di un bucket e di una cartella Amazon S3 per archiviare i risultati delle query Athena, utilizzando la stessa AWS regione e lo stesso account del tuo ambiente AI. SageMaker Per informazioni su come creare un bucket in Amazon S3, consulta Creazione di un bucket nella documentazione di Amazon S3. Configura questo bucket come posizione di output della tua query.
Per accedere ed eseguire query sui dati in Amazon S3:
Passaggio 1: configura un'origine dati e un AWS Glue crawler Athena per i tuoi dati Amazon S3
Fase 2. Concedi a Studio le autorizzazioni per accedere ad Athena
Fase 3: Attivare la connessione predefinita Athena in JupyterLab
Fase 4: Interrogare i dati in Amazon S3 dai JupyterLab notebook utilizzando l'estensione SQL
Passaggio 1: configura un'origine dati e un AWS Glue crawler Athena per i tuoi dati Amazon S3
Segui questa procedura per indicizzare i dati in Amazon S3 e creare tabelle in Athena.
Nota
Per evitare conflitti tra i nomi delle tabelle archiviate in diverse posizioni Amazon S3, crea un’origine dati e un crawler separati per ogni posizione. Ogni origine dati crea una tabella chiamata come la cartella che la contiene, a meno che non sia presente un prefisso.
-
Configurazione di una posizione dei risultati della query
-
Vai alla console Athena:. https://console.aws.amazon.com/athena/
-
Dal menu a sinistra, scegli Gruppi di lavoro.
-
Segui il link per il gruppo di lavoro
primarye scegli Modifica. -
Nella sezione Configurazione dei risultati delle query, inserisci il percorso Amazon S3 della tua directory di output, quindi scegli Salva le modifiche.
-
-
Creazione di un’origine dati Athena per i dati di Amazon S3
-
Dal menu a sinistra della console Athena, scegli Origini dati e Crea origine dati.
-
Scegli S3 - AWS Glue Data Catalog e poi Avanti.
-
Lascia l’impostazione predefinita per Catalogo dati AWS Glue in questo account, scegli Crea un crawler in AWS Glue, quindi seleziona Crea in AWS Glue. Questo apre la AWS Glue console.
-
-
AWS GlueUsalo per scansionare la tua fonte di dati
-
Inserisci un nome e una descrizione per il crawler, quindi scegli Avanti.
-
Nella sezione Origini dati, scegli Aggiungi un’origine dati.
-
Se il bucket Amazon Amazon S3 contenente i tuoi dati si trova in un AWS account diverso rispetto al tuo ambiente SageMaker AI, scegli In un account diverso per la posizione dei dati S3.
-
Inserisci il percorso del set di dati in Amazon S3. Esempio:
s3://dsoaws/nyc-taxi-orig-cleaned-split-parquet-per-year-multiple-files/ride-info/year=2019/ -
Mantieni tutti gli altri valori predefiniti, quindi scegli Aggiungi un’origine dati Amazon S3. Dovresti vedere una nuova origine dati Amazon S3 nella tabella delle origini dati.
-
Scegli Next (Successivo).
-
-
Configura il ruolo IAM per consentire al crawler di accedere ai dati.
Nota
Ogni ruolo è limitato all’origine dati specificata. Quando riutilizzi un ruolo, modifica la policy JSON per aggiungere eventuali nuove risorse a cui concedere l’accesso o crea un nuovo ruolo per questa origine dati.
-
Scegli Crea un nuovo ruolo IAM.
-
Inserisci un nome per il ruolo, quindi scegli Avanti.
-
-
-
Crea o seleziona un database per le tue tabelle
-
Se non disponi di un database esistente in Athena, scegli Aggiungi database e Crea un nuovo database.
-
Tornando alla scheda di creazione del crawler precedente, scegli il pulsante Aggiorna in Configurazione di output. L’elenco dovrebbe ora mostrare il database appena creato.
-
Seleziona il database, aggiungi un prefisso facoltativo in Prefisso del nome della tabella, quindi scegli Avanti.
Nota
Nell’esempio precedente, in cui i dati si trovano in
s3://dsoaws/nyc-taxi-orig-cleaned-split-parquet-per-year-multiple-files/ride-info/year=2019/, l’aggiunta del prefissotaxi-ride-creerà una tabella denominatataxi-ride-year_2019. L’aggiunta di un prefisso aiuta a prevenire i conflitti tra i nomi delle tabelle quando in più posizioni di dati sono presenti cartelle con lo stesso nome.
-
-
Scegli Crea crawler.
-
Esegui il crawler per indicizzare i tuoi dati. Attendi che l’esecuzione del crawler raggiunga lo stato
Completed. Questa operazione potrebbe richiedere alcuni minuti.
Per assicurarti che sia stata creata una nuova tabella, vai al menu a sinistra di AWS Glue e scegli Database, quindi Tabelle. A questo punto, dovresti vedere una nuova tabella con i tuoi dati.
Fase 2. Concedi a Studio le autorizzazioni per accedere ad Athena
Nelle fasi seguenti concedi al ruolo di esecuzione del tuo profilo utente le autorizzazioni per accedere ad Athena.
-
Recupera l’ARN del ruolo di esecuzione associato al profilo utente
-
Vai alla console SageMaker AI all'indirizzo https://console.aws.amazon.com/sagemaker/
e scegli Domini nel menu a sinistra. -
Seleziona il nome del tuo dominio.
-
Nell’elenco Profili utente, seleziona il nome del tuo profilo utente.
-
Nella pagina Dettagli utente, copia l’ARN del ruolo di esecuzione.
-
-
Aggiorna la policy di attendibilità del ruolo di esecuzione
-
Trova la tua AWS regione e l'ID dell'account in alto a destra nella console SageMaker AI. Utilizza questi valori e il nome del tuo database per aggiornare i segnaposto nella policy JSON seguente in un editor di testo.
-
Vai alla console IAM: https://console.aws.amazon.com/iam/
e scegli Ruoli nel menu a sinistra. -
Cerca il nome del tuo ruolo.
Nota
Puoi recuperare il nome di un ruolo di esecuzione dal suo nome della risorsa Amazon (ARN) suddividendo l’ARN in corrispondenza di
'/'e prendendo l’ultimo elemento. Ad esempio, nell’ARN di esempio seguente,arn:aws:iam::112233445566:role/SageMakerStudio-SQLExtension-ExecutionRole, il nome del ruolo di esecuzione èSageMakerStudio-SQLExtension-ExecutionRole. -
Segui il link relativo al tuo ruolo.
-
Nella scheda Autorizzazioni, scegli Aggiungi autorizzazioni, quindi Crea policy inline.
-
Nella sezione Editor di policy, scegli il formato
JSON. -
Copia la policy riportata sopra, quindi scegli Avanti. Assicurati di aver sostituito tutti i campi
account-id,region-nameedb-namecon i relativi valori. -
Immetti un nome per la policy e scegli Crea policy.
-
Fase 3: Attivare la connessione predefinita Athena in JupyterLab
Nei passaggi seguenti, abiliti un default-athena-connection nella tua JupyterLab applicazione. La connessione Athena predefinita consente di eseguire query SQL in Athena direttamente da JupyterLab, senza la necessità di creare manualmente una connessione.
Per abilitare la connessione Athena predefinita
-
Vai alla console SageMaker AI all'indirizzo https://console.aws.amazon.com/sagemaker/
e scegli Studio nel menu a sinistra. Avvia Studio utilizzando il dominio e il profilo utente. -
Scegli l' JupyterLab applicazione.
-
Se non hai creato uno spazio per l' JupyterLab applicazione, scegli Crea uno JupyterLab spazio. Inserisci un nome per lo spazio, mantieni lo spazio Privato, quindi scegli Crea spazio. Gestisci il tuo spazio utilizzando l'ultima versione dell'immagine SageMaker AI Distribution.
Altrimenti, scegli Esegui spazio sul tuo spazio per avviare un' JupyterLab applicazione.
-
Abilita la connessione predefinita Athena:
-
Nell' JupyterLab applicazione, vai al menu Impostazioni nella barra di navigazione in alto e apri il menu dell'editor delle impostazioni.
-
Scegli Rilevamento dei dati.
-
Seleziona la casella Abilita la connessione Athena predefinita.
-
Nell' JupyterLab applicazione, scegli l'icona dell'estensione SQL (
) nel riquadro di navigazione a sinistra per aprire l'estensione SQL. -
Scegli il pulsante Aggiorna nella parte inferiore del pannello Rilevamento dei dati. Dovresti vedere
default-athena-connectionnell’elenco delle connessioni.
-
Fase 4: Interrogare i dati in Amazon S3 dai JupyterLab notebook utilizzando l'estensione SQL
Sei pronto per interrogare i tuoi dati utilizzando SQL nei tuoi notebook. JupyterLab
-
Apri la connessione e poi.
default-athena-connectionAWSDataCatalog -
Accedi al tuo database e scegli l’icona con tre puntini (
) sulla destra. Seleziona Query nel notebook.Questa operazione inserisce automaticamente in JupyterLab una cella del notebook il comando
%%sm_sqlmagico corrispondente per connettersi alla fonte di dati. Aggiunge anche un’istruzione SQL di esempio per aiutarti a iniziare subito a eseguire query.Nota
Assicurati di caricare l’estensione nella cella superiore prima di eseguire una query SQL.
Puoi perfezionare ulteriormente la query SQL utilizzando le funzionalità di completamento automatico ed evidenziazione dell’estensione. Per ulteriori informazioni sull’utilizzo dell’editor SQL per l’estensione SQL, consulta Funzionalità dell'editor SQL dell'estensione JupyterLab SQL.