AWS DMS를 사용하여 데이터를 Parquet 형식으로 Amazon S3로 마이그레이션하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2019년 9월 30일

AWS Database Migration Service(AWS DMS)를 사용하여 Apache Parquet(.parquet) 형식의 데이터를 Amazon Simple Storage Service(Amazon S3)로 마이그레이션하려면 어떻게 해야 합니까?

해결 방법

복제 3.1.3 또는 최신 버전을 사용하는 경우 AWS DMS를 사용하여 데이터를 Apache Parquet 형식으로 S3 버킷에 마이그레이션할 수 있습니다. 기본 Parquet 버전은 Parquet 1.0입니다.

AWS DMS 콘솔에서 대상 Amazon S3 엔드포인트를 생성하고 다음과 유사한 이벤트 조건 작업을 추가합니다.

dataFormat=parquet;

또는 AWS 명령줄 인터페이스(AWS CLI)에서 create-endpoint 명령을 사용하여 대상 Amazon S3 엔드포인트를 생성합니다.

aws dms create-endpoint --endpoint-identifier s3-target-parque --engine-name s3 --endpoint-type target --s3-settings '{"ServiceAccessRoleArn": "iam-role-arn", "BucketName": "dms-target-s3bucket", "DataFormat": "parquet”}'

다음 이벤트 조건 작업을 사용하여 출력 파일의 Parquet 버전을 지정합니다.

parquetVersion=PARQUET_2_0;

출력 파일이 여전히 CSV 형식인 경우 describe-endpoints 명령을 실행하여 DataFormat 파라미터의 값이 Parquet 형식인지 확인합니다.

aws dms describe-endpoints
"DataFormat": "parquet"

DataFormat 파라미터의 값이 CSV인 경우 엔드포인트를 다시 생성합니다.

Parquet 형식의 출력이 있으면 Apache Parquet 명령줄 도구를 설치하여 출력 파일을 구문 분석할 수 있습니다.

pip install parquet-cli --user

그런 다음 파일 형식을 검사합니다.

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

마지막으로 파일 콘텐츠를 인쇄합니다.

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

이 문서가 도움이 되었습니까?

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?