Comment puis-je utiliser AWS DMS pour migrer des données vers Amazon S3 au format Parquet ?

Lecture de 2 minute(s)
0

Je souhaite utiliser AWS Database Migration Service (AWS DMS) pour migrer des données au format Apache Parquet (.parquet) vers Amazon Simple Storage Service (Amazon S3).

Résolution

Remarque : Si des erreurs surviennent lorsque vous exécutez des commandes de l'interface de la ligne de commande AWS (AWS CLI), consultez la section Résolution des erreurs liées à l'interface AWS CLI. Vérifiez également que vous utilisez la version la plus récente de l'interface.

Vous pouvez utiliser AWS DMS pour migrer des données vers un compartiment S3 au format Apache Parquet si vous utilisez la réplication 3.1.3 ou une version plus récente. La version Parquet par défaut est Parquet 1.0.

1.    Créez un point de terminaison Amazon S3 cible à partir de la console AWS DMS, puis ajoutez un attribut de connexion supplémentaire. Vérifiez également les autres attributs de connexion supplémentaires que vous pouvez utiliser pour stocker des objets parquet dans une cible S3 :

dataFormat=parquet;

Vous pouvez également exécuter la commande create-endpoint dans l'interface AWS CLI pour créer un point de terminaison Amazon S3 cible :

aws dms create-endpoint --endpoint-identifier s3-target-parque --engine-name s3 --endpoint-type target --s3-settings '{"ServiceAccessRoleArn": <IAM role ARN for S3 endpoint>, "BucketName": <S3 bucket name to migrate to>, "DataFormat": "parquet"}'

2.    Utilisez l'attribut de connexion supplémentaire suivant pour spécifier le fichier de sortie .parquet :

parquetVersion=PARQUET_2_0;

3.    Exécutez la commande describe-endpoints pour vérifier si le paramètre S3 DataFormat ou l'attribut de connexion supplémentaire DataFormat est défini sur parquet dans le point de terminaison S3 :

aws dms describe-endpoints --filters Name=endpoint-arn,Values=<S3 target endpoint ARN> --query "Endpoints[].S3Settings.DataFormat"
[
    "parquet"
]

4.    Si la valeur du paramètre DataFormat est au format CSV, vous devez recréer le point de terminaison.

5.    Installez l'outil de ligne de commande Apache Parquet pour analyser le fichier de sortie :

pip install parquet-cli --user

6.    Vérifiez le format du fichier :

parq LOAD00000001.parquet  # Metadata
  <pyarrow._parquet.FileMetaData object at 0x10e948aa0>
  created_by: AWS
  num_columns: 2
  num_rows: 2
  num_row_groups: 1
  format_version: 1.0
  serialized_size: 169

7.    Pour finir, imprimez le contenu du fichier :

parq LOAD00000001.parquet --head   i        c
0  1  insert1
1  2  insert2

Informations connexes

Utilisation d'Amazon S3 comme cible pour AWS Database Migration Service

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 7 mois