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à.
Interroga le tabelle Amazon DynamoDB con SQL utilizzando Amazon Athena
Creato da Gavin Perrie (AWS), Ajit Ambike (AWS) e Brad Yates (AWS)
Riepilogo
Se i tuoi dati includono fonti diverse da Amazon Simple Storage Service (Amazon S3), puoi utilizzare query federate per accedere a tali origini dati relazionali, non relazionali, a oggetti o personalizzate. Questo modello mostra come configurare l'accesso alle query federate tramite Amazon Athena ad Amazon DynamoDB utilizzando un connettore di origine dati SQL.
Utilizzando questo pattern puoi fare quanto segue:
Interroga le tabelle DynamoDB utilizzando SQL.
Esegui query SQL federate in Athena e unisci tabelle DynamoDB con altre fonti di dati supportate.
Prerequisiti e limitazioni
Prerequisiti
Una tabella DynamoDB.
Un gruppo di lavoro Athena impostato per utilizzare il motore Athena versione 2. Per istruzioni, consulta la documentazione di Athena.
Un bucket S3 in cui la
AthenaDynamoDBConnector
AWS Lambda funzione può trasferire i dati. Il bucket S3 e la funzione Lambda devono trovarsi nella stessa regione AWS.
Se è la prima volta che accedi ad Athena, avrai bisogno di un bucket S3 aggiuntivo da utilizzare come posizione dei risultati della query. Per istruzioni, consulta la documentazione di Athena.
Limitazioni
Le operazioni di scrittura come INSERT INTO non sono supportate.
Versioni del prodotto
Architettura
Architettura Target
Il diagramma seguente mostra il flusso di connessione dopo aver stabilito lo schema. L'utente si connette ad Amazon Athena per fornire la query. Athena passa la query e la destinazione alla funzione Lambda del connettore di origine dati DynamoDB, che recupera e restituisce i dati ad Athena. Se vengono restituite grandi quantità di dati, Athena archivia i risultati temporanei nel secchio di raccolta prima di imballare e restituire il set di dati completo.

Strumenti
Servizi AWS
Amazon Athena è un servizio di query interattivo che ti aiuta ad analizzare i dati direttamente in Amazon Simple Storage Service (Amazon S3) utilizzando SQL standard. Questo modello utilizza Amazon Athena DynamoDB Connector
, uno strumento creato utilizzando Amazon Athena Query Federation SDK e installato come applicazione tramite. AWS Lambda AWS Serverless Application Repository Amazon DynamoDB è un servizio di database NoSQL interamente gestito che offre prestazioni elevate, prevedibili e scalabili.
AWS Lambda è un servizio di calcolo che consente di eseguire il codice senza gestire i server o effettuarne il provisioning. Esegue il codice solo quando necessario e si ridimensiona automaticamente, quindi paghi solo per il tempo di elaborazione che utilizzi.
Amazon Simple Storage Service (Amazon S3) è un servizio di archiviazione degli oggetti basato sul cloud che consente di archiviare, proteggere e recuperare qualsiasi quantità di dati.
Archivio di codice
Il codice per questo pattern è disponibile nel repository GitHub Athena Query Federation
Epiche
Attività | Descrizione | Competenze richieste |
---|---|---|
Implementa l' AthenaDynamoDBConnector applicazione. | Per eseguire la distribuzione AthenaDynamoDBConnecter, effettuate le seguenti operazioni:
| AWS DevOps |
Crea una fonte di dati per Athena. | Per creare l'origine dati, procedi come segue:
| AWS DevOps |
Usa Athena per interrogare la tabella DynamoDB. | Per interrogare la tabella DynamoDB, procedi come segue:
| Sviluppatore di app |
Risoluzione dei problemi
Problema | Soluzione |
---|---|
La query fallisce con. | Assicurati che lo spill bucket Athena e la funzione Lambda siano creati nello stesso ambiente. Regione AWS |
L'origine dati appena creata non è visibile sulla console Athena. | I cataloghi di dati Athena sono regionali. Assicurati che sia |
Non è possibile eseguire la query sull'origine dati appena creata. | Verifica che la posizione dei risultati della query sia stata impostata. |