保存加载异常 (EXCEPTIONS)
COPY 异常包含一些描述为何无法解析某个数据行的说明性消息。EXCEPTIONS 选项允许您指定 COPY 写入异常的文件。如果省略此选项,则 COPY 会将异常文件保存到以下路径:
catalog-dir/CopyErrorLogs/tablename-sourcefilename-copy-from-exceptions
,其中:
-
catalog-dir 是存放数据库编录文件的目录
-
table 是要加载到的表的名称
-
sourcefile 是要加载的文件的名称
注意
REJECTED DATA AS TABLE 与 EXCEPTIONS 互斥。EXCEPTIONS 选项生成的文件指示每个异常的行号和原因。
如果从 STDIN 复制,则源文件名为 STDIN。
您可以为数据加载中的单个文件指定拒绝数据和异常文件。在 COPY 语句中使用逗号分隔拒绝数据和异常文件。
您必须在路径中指定文件名才能加载多个输入文件。请记住,将较长的表名与较长的数据文件名结合使用可能会超出操作系统的最大长度(通常为 255 个字符)。若要解决文件名超出最大长度的问题,请使用一个与默认路径不同的异常文件路径,例如 /tmp/<shorter-file-name>
。
如果您指定 EXCEPTIONS 路径:
-
对于一个数据文件,路径必须为文件,并且 COPY 将所有信息都存储在此文件中。
-
对于多个数据文件,路径必须为目录。COPY 在此目录中为每个数据文件创建一个文件。
-
不将异常文件存储在启动节点上。
-
只能为每个节点指定一个路径。
如果未指定 EXCEPTIONS 路径,则 COPY 将异常文件存储在默认目录。