Copia di dati tra DynamoDB e una tabella Hive nativa - Amazon DynamoDB

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

Copia di dati tra DynamoDB e una tabella Hive nativa

Se si dispone di dati in una tabella DynamoDB, è possibile copiarli in una tabella Hive nativa. Questo creerà uno snapshot di dati, a partire dal momento in cui li hai copiati.

Ciò potrebbe essere la scelta giusta nel caso in cui sia necessario eseguire molte query HiveQL, ma non si desidera consumare capacità di throughput assegnata da DynamoDB. Poiché i dati nella tabella Hive nativa sono una copia dei dati di DynamoDB e non dati «attivi», le tue query non dovrebbero aspettarsi che i dati lo siano. up-to-date

Nota

Gli esempi in questa sezione presuppongono che sia stata seguita la procedura in Tutorial: Utilizzo di Amazon DynamoDB e Apache Hive che sia presente una tabella esterna in DynamoDB denominata ddb_features.

Esempio Da DynamoDB a una tabella Hive nativa

È possibile creare una tabella Hive nativa e popolarla con i dati da ddb_features in questo modo:

CREATE TABLE features_snapshot AS SELECT * FROM ddb_features;

È quindi possibile aggiornare i set di dati in qualsiasi momento:

INSERT OVERWRITE TABLE features_snapshot SELECT * FROM ddb_features;

In questi esempi, la query secondaria SELECT * FROM ddb_features recupererà tutti i dati da ddb_features. Se desideri copiare solo una parte dei dati, è possibile utilizzare una clausola WHERE nella query secondaria.

L'esempio seguente crea una tabella Hive nativa, contenente solo alcuni attributi per lake e summit:

CREATE TABLE lakes_and_summits AS SELECT feature_name, feature_class, state_alpha FROM ddb_features WHERE feature_class IN ('Lake','Summit');
Esempio Da una tabella Hive nativa a DynamoDB

Utilizza l'istruzione HiveQL seguente per copiare i dati dalla tabella Hive nativa in ddb_features:

INSERT OVERWRITE TABLE ddb_features SELECT * FROM features_snapshot;