メニュー
Amazon Redshift
データベース開発者ガイド (API Version 2012-12-01)

Amazon EMR からの COPY

COPY コマンドを使用することで、クラスターの Hadoop Distributed File System (HDFS) に、固定幅ファイル、文字区切りファイル、CSV ファイル、JSON 形式ファイル、または Avro ファイルでテキストファイルを書き込むように設定された Amazon EMR クラスターから、データを並列にロードできます。

構文

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

次の例では、Amazon EMR クラスターからデータをロードします。

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

Parameters

FROM

ロードするデータのソースです。

「emr://emr_cluster_id/hdfs_file_path

Amazon EMR クラスターの一意の識別子、および COPY コマンドのデータファイルを参照する HDFS ファイルパスです。HDFS データファイル名には、ワイルドカード文字のアスタリスク (*) および疑問符 (?) を含めることはできません。

注記

Amazon EMR クラスターは、COPY 操作が完了するまで稼動している必要があります。COPY 操作が完了する前に HDFS データファイルのいずれかが変更または削除されると、予期しない結果を招いたり、COPY 操作が失敗したりする可能性があります。

ワイルドカード文字のアスタリスク (*) および疑問符 (?) を、ロードする複数のファイルを指定する hdfs_file_path 引数の一部として使用できます。たとえば、'emr://j-SAMPLE2B500FC/myoutput/part*' であれば、part-0000part-0001 などのファイルが識別されます。ファイルパスにワイルドカード文字が含まれていない場合は、文字列リテラルとして処理されます。COPY コマンドでフォルダー名のみを指定した場合には、フォルダー内のすべてのファイルがロードされます。

重要

ワイルドカード文字を使用する場合、またはフォルダー名のみを使用する場合は、不要なファイルがロードされないことを確認してください。たとえば、一部のプロセスでは出力フォルダーにログファイルが書き込まれることがあります。

詳細については、「Amazon EMR からデータをロードする」を参照してください。

authorization

COPY コマンドには、Amazon S3、Amazon EMR、Amazon DynamoDB、Amazon EC2 を含む別の AWS リソースのデータにアクセスするための承認が必要になります。クラスターにアタッチされた AWS Identity and Access Management (IAM) ロールを参照して (ロールベースのアクセスコントロール)、または、IAM ユーザー用のアクセス認証情報を提供して (キーに基づくアクセスコントロール)、その承認を提供できます。セキュリティと柔軟性を強化するために、IAM ロールベースのアクセスコントロールを使用することをお勧めします。詳細については、「認証パラメータ」を参照してください。

サポートされているパラメータ

Amazon EMR からの COPY では、オプションで次のパラメータを指定できます。

サポートされないパラメータ

Amazon EMR からの COPY では、次のパラメータは使用できません。

  • ENCRYPTED

  • MANIFEST

  • REGION

  • READRATIO

  • SSH