¿Cómo puedo usar AWS DMS para migrar datos a Amazon S3 en formato Parquet?

2 minutos de lectura
0

Quiero usar AWS Database Migration Service (AWS DMS) para migrar datos en formato Apache Parquet (.parquet) a Amazon Simple Storage Service (Amazon S3).

Solución

Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulte Errores de solución de problemas de la AWS CLI. Además, compruebe si está utilizando la versión más reciente.

Si utiliza la versión de replicación 3.1.3 o posterior, utilice AWS DMS para migrar los datos a un bucket de S3 en formato Apache Parquet. La versión predeterminada de Parquet es la 1.0.

1.    En la consola de AWS DMS, cree un punto de conexión de destino de Amazon S3 y, a continuación, añada un atributo de conexión adicional. Consulte también los demás atributos de conexión adicionales que puede utilizar para almacenar objetos de Parquet en un destino de S3:

dataFormat=parquet;

Como alternativa, ejecute el comando create-endpoint en la AWS CLI para crear un punto de conexión de destino de Amazon S3:

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.    Para especificar el archivo resultante en formato .parquet, utilice el siguiente atributo de conexión adicional:

parquetVersion=PARQUET_2_0;

3.    Ejecute el comando describe-endpoints para comprobar si el ajuste DataFormat de S3 o el atributo de conexión adicional dataFormat se han definido como parquet en el punto de conexión de S3:

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

4.    Si el valor del parámetro DataFormat es CSV, vuelva a crear el punto de conexión.

5.    Instale la herramienta de línea de comandos de Apache Parquet para analizar el archivo resultante:

pip install parquet-cli --user

6.    Inspeccione el formato del archivo:

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.    Imprima el contenido del archivo:

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

Información relacionada

Using Amazon S3 as a target for AWS Database Migration Service

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 7 meses