如何使用 AWS DMS 以 Parquet 格式將資料遷移至 Amazon S3?

2 分的閱讀內容
0

我想要使用 AWS Database Migration Service (AWS DMS),將 Apache Parquet (.parquet) 格式的資料遷移至 Amazon Simple Storage Service (Amazon S3)。

解決方法

**注意事項:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤,請參閱疑難排解 AWS CLI 錯誤。此外,請確定您使用的是最新的 AWS CLI 版本

如果您使用複寫 3.1.3 版或更新版本,則請使用 AWS DMS 以 Apache Parquet 格式將資料遷移至 S3 儲存貯體。預設的 Parquet 版本為 Parquet 1.0。

1.    在 AWS DMS 主控台中,建立目標 Amazon S3 端點,然後新增額外的連線屬性。另外,請檢查您可用於 S3 目標中儲存 Parquet 物件的其他額外連線屬性:

dataFormat=parquet;

或者,在 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 for S3 endpoint>, "BucketName": <S3 bucket name to migrate to>, "DataFormat": "parquet"}'

2.    若要指定 .parquet 輸出檔案,請使用下列額外的連線屬性:

parquetVersion=PARQUET_2_0;

3.    執行 describe-endpoints 命令,以檢查 S3 設定 DataFormat 或額外連線屬性 dataFormat 是否設為 S3 端點中的 parquet

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

4.    如果 DataFormat 參數的值為 CSV,則請重新建立端點。

5.    安裝 Apache Parquet 命令行工具來剖析輸出檔案:

pip install parquet-cli --user

6.    檢查檔案格式:

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.    列印檔案內容:

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

相關資訊

使用 Amazon S3 作為 AWS Database Migration Service 的目標

AWS 官方
AWS 官方已更新 7 個月前