從 Amazon EMR 進行 COPY - Amazon Redshift

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

從 Amazon EMR 進行 COPY

您可以使用 COPY 命令從 Amazon EMR 叢集平行載入資料,而該叢集設定為以固定寬度檔案、字元分隔檔案、CSV 檔案、JSON 格式檔案或 Avro 檔案的形式,將文字檔案寫入叢集的 Hadoop 分散式檔案系統 (HDFS)。

語法

FROM 'emr://emr_cluster_id/hdfs_filepath' authorization [ optional_parameters ]

範例

下列範例從 Amazon EMR 叢集載入資料。

copy sales from 'emr://j-SAMPLE2B500FC/myoutput/part-*' iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole';

參數

FROM

載入的資料來源。

'emr://emr_cluster_id/hdfs_file_path'

Amazon EMR 叢集的唯一識別符,以及 HDFS 檔案路徑 (參考 COPY 命令的資料檔案)。HDFS 資料檔案名稱不能包含萬用字元星號 (*) 和問號 (?)。

注意

Amazon EMR 叢集必須一直運作到 COPY 操作完成為止。如果 COPY 操作完成之前有任何 HDFS 資料檔案經變更或遭刪除,可能會發生非預期的結果,COPY 操作也可能失敗。

您可以在 hdfs_file_path 引數中使用萬用字元星號 (*) 和問號 (?) 來指定要載入的多個檔案。例如,'emr://j-SAMPLE2B500FC/myoutput/part*' 表示檔案 part-0000part-0001,以此類推。如果檔案路徑不含萬用字元,則視為字串常值。如果僅指定資料夾名稱,COPY 會嘗試載入該資料夾中的所有檔案。

重要

如果使用萬用字元或只使用資料夾名稱,請確認不會載入不需要的檔案。例如,某些程序可能將日誌檔案寫入至輸出資料夾。

如需詳細資訊,請參閱從 Amazon EMR 載入資料

authorization

COPY 命令需要取得授權來存取另一個 AWS 資源中 (包括在 Amazon S3、Amazon EMR、Amazon DynamoDB 和 Amazon EC2 中) 的資料。您可以參考附加至叢集的 AWS Identity and Access Management (IAM) 角色 (角色型存取控制),或將存取憑證提供給 IAM 使用者 (金鑰型存取控制),以提供此授權。為了提高安全性和彈性,建議使用 IAM 角色型存取控制。如需詳細資訊,請參閱授權參數

支援的參數

從 Amazon EMR COPY 時,您可以選擇性指定下列參數:

不支援的參數

從 Amazon EMR COPY 時,您不能使用下列參數:

  • ENCRYPTED

  • MANIFEST

  • REGION

  • READRATIO

  • SSH