Comment envoyer un chargement en bloc vers une table DynamoDB ?

Date de la dernière mise à jour : 23/06/2022

Je souhaite charger des données en bloc dans ma table Amazon DynamoDB.

Résolution

Utilisez l'une des options suivantes pour charger les données en bloc vers DynamoDB.

BatchWriteItem

Utilisez l'opération d'API BatchWriteItem pour émettre plusieurs appels PutItem simultanément. Vous pouvez également utiliser des processus ou des threads parallèles dans votre code pour émettre plusieurs appels d'API BatchWriteItem parallèles et ainsi accélérer le chargement des données.

AWS Data Pipeline

Si les données se trouvent dans Amazon Simple Storage Service (Amazon S3), vous pouvez utiliser Data Pipeline pour les exporter vers DynamoDB. Data Pipeline automatise le processus de création d'un cluster Amazon EMR et d'exportation de vos données depuis Amazon S3 vers DynamoDB dans des requêtes BatchWriteItem parallèles. Lorsque vous utilisez Data Pipeline, vous ne devez pas écrire le code pour le transfert parallèle. Pour plus d'informations, référez-vous à Importation des données d'Amazon S3 vers DynamoDB.

Amazon EMR

Pour charger les données vers DynamoDB avec Amazon EMR et Apache Hive :

  1. Créez un cluster EMR :
    Pour Version, sélectionnez emr-5.30.0 ou version ultérieure.
    Pour Applications, sélectionnez une option qui inclut Hive.
  2. Créez une table Hive externe qui désigne l'emplacement Amazon S3 correspondant à vos données.
  3. Créez une autre table Hive externe et pointez-la vers la table DynamoDB.
  4. Utilisez la commande INSERT OVERWRITE pour écrire des données depuis Amazon S3 vers DynamoDB. Pour plus d'informations, voir Importation des données vers DynamoDB.

AWS Database Migration Service (AWS DMS)

Vous pouvez utiliser AWS DMS pour exporter les données d'une base de données relationnelle vers une table DynamoDB. Pour plus d'informations, reportez-vous à Utilisation d'une base de données Amazon DynamoDB comme cible pour AWS Database Migration Service.

AWS Glue

Envisagez cette option si les données que vous chargez ont été initialement exportées vers S3 à partir d'une autre table DynamoDB à l'aide de la fonction d'exportation de DynamoDB. Cette option est efficace pour le téléchargement de jeux de données volumineux. Cela est dû au fait que la fonction d'exportation utilise la fonctionnalité de sauvegarde de DynamoDB et n'analyse pas la table source. Cette fonctionnalité n'a aucun impact sur les performances ou la disponibilité de la table source. Pour plus d'informations, voir Utilisation d'AWS Glue et de la fonction d'exportation d'Amazon DynamoDB.


Cet article vous a-t-il été utile ?


Avez-vous besoin d'aide pour une question technique ou de facturation ?