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à.
Esportazione, importazione, esecuzione di query e unione di tabelle in DynamoDB con Amazon EMR
Nota
Il connettore Amazon EMR-DynamoDB è open source su. GitHub Per ulteriori informazioni, consulta https://github.com/awslabs/emr-dynamodb-connector
DynamoDB è un servizio di database NoSQL interamente gestito che combina prestazioni elevate e prevedibili con una scalabilità continua. Gli sviluppatori possono creare una tabella di database e accrescerne la richiesta di traffico o lo storage senza limiti. DynamoDB distribuisce automaticamente i dati e il traffico per la tabella su un numero sufficiente di server per gestire la capacità di richieste specificata dal cliente e la quantità di dati archiviati, garantendo al contempo prestazioni rapide e costanti. Utilizzando Amazon EMR e Hive è possibile elaborare in modo rapido ed efficiente grandi quantità di dati, ad esempio i dati archiviati in DynamoDB. Per ulteriori informazioni su DynamoDB, consulta Guida per gli sviluppatori di Amazon DynamoDB.
Apache Hive è un livello software che è possibile utilizzare per eseguire query su cluster MapReduce utilizzando un linguaggio di query semplificato, simile a SQL, denominato HiveQL, e che viene eseguito su architettura Hadoop. Per ulteriori informazioni su Hive e HiveQL, consulta il Manuale sul linguaggio HiveQL
È possibile utilizzare Amazon EMR con una versione personalizzata di Hive, che include la connettività a DynamoDB per eseguire operazioni sui dati archiviati in DynamoDB:
-
Caricamento di dati DynamoDB nel file system distribuito Hadoop (HDFS) e loro utilizzo come input in un cluster Amazon EMR.
-
Esecuzione di query in diretta sui dati DynamoDB utilizzando istruzioni di tipo SQL (HiveQL).
-
Unione di dati archiviati in DynamoDB ed esportazione o esecuzione di query sui dati uniti.
-
Esportazione dei dati archiviati in DynamoDB su Amazon S3.
-
Importazione dei dati archiviati in Amazon S3 su DynamoDB.
Nota
Il connettore Amazon EMR-DynamoDB non supporta i cluster configurati per utilizzare l'autenticazione Kerberos.
Potrai eseguire ognuna delle attività seguenti avviando un cluster Amazon EMR, specificando il percorso dei dati in DynamoDB ed eseguendo comandi Hive per gestire i dati in DynamoDB.
Esistono diversi modi per avviare un cluster Amazon EMR: puoi utilizzare la console Amazon EMR, l'interfaccia a riga di comando (CLI) oppure puoi programmare il cluster utilizzando un SDK AWS o l'API Amazon EMR. È anche possibile scegliere se eseguire un cluster Hive interattivamente o da uno script. In questa sezione illustreremo come avviare un cluster Hive interattivo dalla console di Amazon EMR e dalla CLI.
L'utilizzo interattivo di Hive è perfetto per testare le prestazioni delle query e ottimizzare l'applicazione. Dopo aver creato un set di comandi Hive che verrà eseguito periodicamente, valuta la possibilità di creare uno script Hive che Amazon EMR può eseguire senza interventi da parte tua.
avvertimento
Le operazioni di lettura o scrittura di Amazon EMR su una tabella DynamoDB vengono conteggiate ai fini della velocità effettiva assegnata stabilita, aumentando potenzialmente la frequenza delle eccezioni alla velocità effettiva assegnata. Per le richieste di grandi dimensioni, Amazon EMR implementa tentativi con backoff esponenziale per gestire il carico di richieste sulla tabella DynamoDB. L'esecuzione contemporanea di processi Amazon EMR con altro traffico potrebbe causare il superamento del livello di velocità effettiva assegnata allocata. Puoi monitorarlo controllando la ThrottleRequestsmetrica in Amazon CloudWatch. Se il carico di richieste è troppo elevato, è possibile riavviare il cluster e impostare Impostazione della percentuale di lettura o Impostazione della percentuale di scrittura su un valore inferiore per limitare le operazioni Amazon EMR. Per ulteriori informazioni sulle impostazioni di velocità effettiva di DynamoDB, consulta Velocità effettiva assegnata.
Se una tabella è configurata per la Modalità on demand, è necessario ripristinare la tabella in modalità di provisioning prima di eseguire un'operazione di esportazione o importazione. Le pipeline necessitano di un rapporto di velocità effettiva per calcolare le risorse da utilizzare da una Dynamo. DBtable La modalità on demand rimuove la velocità effettiva di provisioning. Per fornire la capacità di throughput, puoi utilizzare i parametri di Amazon CloudWatch Events per valutare il throughput aggregato utilizzato da una tabella.