Copie de données entre DynamoDB et une table Hive native - Amazon DynamoDB

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Copie de données entre DynamoDB et une table Hive native

Si vous avez des données dans une table DynamoDB, vous pouvez copier les données vers une table Hive native. Cela vous donne un instantané des données au moment où vous les avez copiées.

Vous pourrez décider de procéder de la sorte si vous devez exécuter de nombreuses requêtes HiveQL, mais ne souhaitez pas utiliser la capacité de débit approvisionnée de DynamoDB. Les données de la table Hive native étant une copie des données de DynamoDB, et non des données « actives », vos requêtes ne doivent pas s'attendre à ce que ces données le soient. up-to-date

Note

Les exemples fournis dans cette section partent du principe que vous avez suivi les étapes décrites dans Didacticiel : Utilisation d'Amazon DynamoDB et d'Apache Hive et disposez d'une table externe dans DynamoDB nommée ddb_features.

Exemple De DynamoDB vers une table Hive native

Vous pouvez créer une table Hive native et la remplir des données de la table ddb_features comme suit :

CREATE TABLE features_snapshot AS SELECT * FROM ddb_features;

Vous pouvez ensuite actualiser les données à tout moment :

INSERT OVERWRITE TABLE features_snapshot SELECT * FROM ddb_features;

Dans ces exemples, la sous-requête SELECT * FROM ddb_features extrait toutes les données de la table ddb_features. Si vous ne souhaitez copier qu'un sous-ensemble des données, vous pouvez utiliser une clause WHERE dans la sous-requête.

L'exemple suivant crée une table Hive native contenant uniquement certains des attributs pour les lacs et les sommets :

CREATE TABLE lakes_and_summits AS SELECT feature_name, feature_class, state_alpha FROM ddb_features WHERE feature_class IN ('Lake','Summit');
Exemple D'une table Hive native à DynamoDB

Utilisez l'instruction HiveQL suivante pour copier les données de la table Hive native vers la table ddb_features :

INSERT OVERWRITE TABLE ddb_features SELECT * FROM features_snapshot;