步骤 6:运行 COPY 命令以加载数据
运行 COPY 命令以连接到 Amazon EMR 集群并将数据加载到 Amazon Redshift 表中。Amazon EMR 集群必须继续运行,直到 COPY 命令完成。例如,不要将集群配置为自动终止。
如果在 COPY 完成前更改或删除了任何数据文件,则您可能会遇到意外结果,或者 COPY 操作可能失败。
在 COPY 命令中,指定 Amazon EMR 集群 ID 和 HDFS 文件路径及文件名。
copy sales from 'emr://myemrclusterid/myoutput/part*' credentials iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole';
您可以使用通配符星号 (*
) 和问号 (?
) 作为文件名参数的一部分。例如,part*
加载文件 part-0000
、part-0001
,等等。如果您仅指定一个文件夹名称,则 COPY 将尝试加载该文件夹中的所有文件。
如果您使用通配符或仅使用文件夹名称,请确认不会加载不需要的文件,否则 COPY 命令将失败。例如,某些流程可能会将日志文件写入到输出文件夹。