Como posso usar o AWS DMS para migrar dados para o Amazon S3 no formato Parquet?

2 minuto de leitura
0

Quero usar o AWS Database Migration Service (AWS DMS) para migrar dados no formato Apache Parquet (.parquet) para o Amazon Simple Storage Service (Amazon S3).

Resolução

Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solucionar erros da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.

Se você usa a versão de replicação 3.1.3 ou posterior, use o AWS DMS para migrar dados para um bucket do S3 no formato Apache Parquet. A versão padrão do Parquet é a Parquet 1.0.

1.    No console do AWS DMS, crie um endpoint de destino do Amazon S3 e, em seguida, adicione um atributo de conexão extra. Além disso, verifique os outros atributos de conexão extras que você pode usar para armazenar objetos de parquet em um destino do S3:

dataFormat=parquet;

Ou execute o comando create-endpoint na AWS CLI para criar um endpoint de destino do 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.    Use o atributo de conexão extra a seguir para especificar o arquivo de saída .parquet:

parquetVersion=PARQUET_2_0;

3.    Execute o comando describe-endpoints para verificar se a configuração DataFormat do S3 ou o atributo de conexão extra dataFormat estão definidos como parquet no endpoint do S3:

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

4.    Se o valor do parâmetro DataFormat for CSV, recrie o endpoint.

5.    Instale a ferramenta de linha de comando Apache Parquet para analisar o arquivo de saída:

pip install parquet-cli --user

6.    Inspecione o formato do arquivo:

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 o conteúdo do arquivo:

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

Informações relacionadas

Using Amazon S3 as a target for AWS Database Migration Service

AWS OFICIAL
AWS OFICIALAtualizada há 7 meses