Come posso usare AWS DMS per migrare i dati su Amazon S3 in formato Parquet?

2 minuti di lettura
0

Desidero utilizzare AWS Database Migration Service (AWS DMS) per migrare i dati in formato Apache Parquet (.parquet) su Amazon Simple Storage Service (Amazon S3).

Risoluzione

Nota: se ricevi messaggi di errore durante l'esecuzione dei comandi dell'interfaccia della linea di comando AWS (AWS CLI), consulta la sezione Risolvere gli errori AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.

Se utilizzi la versione di replica 3.1.3 o successiva, utilizza AWS DMS per migrare i dati su un bucket S3 nel formato Apache Parquet. La versione predefinita è Parquet 1.0.

1.    Nella console AWS DMS, crea un endpoint Amazon S3 di destinazione, quindi aggiungi un attributo aggiuntivo di connessione. Inoltre, controlla gli altri attributi aggiuntivi di connessione che puoi utilizzare per conservare gli oggetti Parquet in una destinazione S3:

dataFormat=parquet;

In alternativa, esegui il comando create-endpoint nell'interfaccia della linea di comando AWS CLI per creare un endpoint Amazon S3 di destinazione:

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.    Per specificare il file di output .parquet, utilizza il seguente attributo aggiuntivo di connessione:

parquetVersion=PARQUET_2_0;

3.    Esegui il comando describe-endpoints per verificare se l'impostazione di S3 DataFormat o l'attributo aggiuntivo di connessione dataFormat è impostato su parquet nell'endpoint S3:

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

4.    Se il valore del parametro DataFormat è CSV, ricrea l'endpoint.

5.    Installa lo strumento a riga di comando Apache Parquet per analizzare il file di output:

pip install parquet-cli --user

6.    Ispeziona il formato del file:

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.    Stampa il contenuto del file:

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

Informazioni correlate

Uso di Amazon S3 come destinazione per AWS Database Migration Service

AWS UFFICIALE
AWS UFFICIALEAggiornata 6 mesi fa