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