Wie kann ich AWS DMS verwenden, um Daten im Parquet-Format zu Amazon S3 zu migrieren?

Lesedauer: 2 Minute
0

Ich möchte AWS Database Migration Service (AWS DMS) verwenden, um Daten im Apache-Parquet-Format (.parquet) zu Amazon Simple Storage Service (Amazon S3) zu migrieren.

Lösung

**Hinweis:**Wenn bei der Ausführung von AWS Command Line Interface (AWS CLI)-Befehlen Fehler auftreten, finden Sie weitere Informationen unter Beheben von Fehlern in der AWS CLI. Stellen Sie außerdem sicher, dass Sie die neueste AWS-CLI-Version verwenden.

Wenn Sie Replication 3.1.3 oder eine neuere Version verwenden, können Sie Daten mit AWS DMS in einen S3-Bucket im Apache-Parquet-Format migrieren. Die Standardversion von Parquet ist Parquet 1.0.

1.Erstellen Sie in der AWS-DMS-Konsole einen Amazon-S3-Zielendpunkt und fügen Sie dann ein extra Verbindungsattribut hinzu. Überprüfen Sie auch die anderen extra Verbindungsattribute, die Sie zum Speichern von Parquet-Objekten in einem S3-Ziel verwenden können:

dataFormat=parquet;

Oder führen Sie den Befehl create-endpoint in der AWS CLI aus, um einen Amazon-S3-Zielendpunkt zu erstellen:

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.Verwenden Sie das folgende extra Verbindungsattribut, um die Parquet-Ausgabedatei anzugeben:

parquetVersion=PARQUET_2_0;

3.Führen Sie den Befehl describe-endpoints aus, um zu überprüfen, ob die S3-Einstellung DataFormat oder das extra Verbindungsattribut dataFormat im S3-Endpunkt auf parquet gesetzt ist:

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

4.Wenn der Wert des Parameters DataFormat CSV ist, erstellen Sie den Endpunkt neu.

5.Installieren Sie das Apache-Parquet-Befehlszeilentool, um die Ausgabedatei zu analysieren:

pip install parquet-cli --user

6.Überprüfen Sie dann das Dateiformat:

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.Drucken Sie den Dateiinhalt:

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

Verwandte Informationen

Using Amazon S3 as a target for AWS Database Migration Service

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 7 Monaten