我想要使用 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 的目標