Amazon redshift 是';复印件';是否在Amazon红移原子中使用命令?

Amazon redshift 是';复印件';是否在Amazon红移原子中使用命令?,amazon-redshift,Amazon Redshift,对于AmazonRedshift,通常使用“copy”命令从S3加载数据。我想知道这个命令是不是原子的。例如,在某些例外情况下,是否可能只将部分数据文件加载到红移表中?您可以在加载数据之前使用NOLOAD标记检查错误。这是一种更快的验证数据格式的方法,因为它不尝试加载任何数据,只需解析数据 您可以使用MAXERROR标志定义您愿意容忍的错误数量 如果您的计数超过了MAXERROR计数,则加载将失败,并且不会添加任何记录 请参阅此处的详细信息:带有默认选项的复制命令是原子的。如果文件包含可能导致加

对于AmazonRedshift,通常使用“copy”命令从S3加载数据。我想知道这个命令是不是原子的。例如,在某些例外情况下,是否可能只将部分数据文件加载到红移表中?

您可以在加载数据之前使用
NOLOAD
标记检查错误。这是一种更快的验证数据格式的方法,因为它不尝试加载任何数据,只需解析数据

您可以使用
MAXERROR
标志定义您愿意容忍的错误数量

如果您的计数超过了
MAXERROR
计数,则加载将失败,并且不会添加任何记录


请参阅此处的详细信息:

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

如果要跳过无效行而不停止事务,则可以对COPY命令使用忽略无效行的MAXRERROR选项。下面是忽略多达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;
如果无效行数大于MAXERROR error count(100),则事务将回滚

有关复制命令的详细信息,请参见以下链接。

您的意思是即使发生错误也无法加载部分记录吗?如果错误数小于MAXERROR,则将正确复制其余记录