Amazon RedShift中的'copy'命令是否原子?

cip*_*hor 5 amazon-redshift

对于Amazon RedShift,通常使用"copy"命令从S3加载数据.我想知道命令是否是原子的.例如,在某些特殊情况下,是否只有部分数据文件被加载到RedShift表中?

Mas*_*aki 8

带有默认选项的COPY命令是原子的.如果文件包含可能导致加载失败的无效行,则将回滚COPY事务并且不会导入任何数据.

如果要跳过无效行而不是停止事务,可以使用MAXERROR选项忽略无效行的COPY命令.以下示例忽略最多100个无效行.

COPY table_name from 's3://[bucket-name]/[file-path or prefix]' CREDENTIALS 'aws_access_key_id=xxxx;aws_secret_access_key=xxxx' DELIMITER '\t' MAXERROR 100;
Run Code Online (Sandbox Code Playgroud)

如果无效行数超过MAXERROR错误计数(100),则事务将被回滚.

有关COPY命令的详细信息,请参阅以下链接. http://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html