0

J'ai deux tables de DynamoDB avec les éléments suivants:Carte des attributs dans le tableau DynamoDB alors que la migration des données

TABLE_1

  • SomeId: string

  • Nom: chaîne

Table_2

  • Id: string

  • Nom: chaîne

  • Nom: string

C'est ce que je dois:

  1. Migrer les données de Table_1 à Table_2 .
  2. affecter l'attribut Table_1.SomeId à l'Table_2.Id attribut
  3. Lors de la migration des valeurs par défaut pour Table_2.Surname

J'ai regardé du service pipeline de données Amazon. Apparemment, vous pouvez exporter les données de Table_1 à S3. Ensuite, importez les données de S3 vers Table_2.

http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBPipeline.html

Ce que je ne vois pas comment cartographier les attributs si les tables ont différents schémas.

J'ai trouvé des solutions basées sur l'écriture d'une application de console à partir de zéro en utilisant le SDK. Un meilleur conseil à ce sujet?

Répondre

0

Je pense qu'une façon de résoudre ce problème serait d'utiliser Hive. Vous pouvez essentiellement charger les données de Dynamo vers S3, utiliser le cluster EMR pour exécuter le script Hive et exporter depuis S3 vers Dynamo.

Il est tout à fait similaire par exemple ici: https://github.com/awslabs/data-pipeline-samples/tree/master/samples/DynamoDBToRedshiftConvertDataUsingHive

Dans cet exemple, après transformation, les données sont mis à Redshift afin que vous pouvez remplacer cette étape par étape d'importation.

Vous pouvez également prendre cet exemple: https://github.com/awslabs/data-pipeline-samples/blob/master/samples/dynamodb-to-dynamodb/pipeline.json

et ajoutez la Ruche sur EMR de l'échantillon précédent au milieu.

Espérons que cela aide.