Comment effectuer un chargement en masse vers une table DynamoDB ?

Lecture de 3 minute(s)
0

Je souhaite charger des données en lot dans ma table Amazon DynamoDB. Comment procéder ?

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

Fonction d'importation de tableau

Si les données sont stockées dans S3, vous pouvez les télécharger vers une nouvelle table DynamoDB à l'aide de la fonctionnalité Importer une table. Cette fonctionnalité prend en charge le format CSV, DynamoDB, JSON ou Amazon ION au format compressé (GZIP ou ZSTD) ou non compressé. Pour plus d'informations, consultez le Fonctionnement de l'importation de données DynamoDB vers Amazon S3.

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

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


AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an