我想将多个CSV文件导入Exasol DB。实际上,这是一个巨大的文件,我已经将其分解以大大提高进口性能。Exasol支持多个文件的并行导入:
IMPORT INTO target_table
FROM CSV AT 'https://someurl'
FILE 'file1.csv'
FILE 'file2.csv'
...
;
问题是,我想忽略导入错误并以某种方式记录它们。我很想使用Exasol支持的错误表,但不幸的是,单个语句中的多个文件
中没有多个文件IMPORT INTO target_table
FROM CSV AT 'https://someurl'
FILE 'file1.csv'
FILE 'file2.csv'
...
REJECT LIMIT 100 --ignore 99 errors, this does completes the import, but nothing is logged
ERRORS INTO IMPORT_ERROR_TABLE --does not work for mutiple file import statement
;
我无法将我的CSV文件放置,一切都会起作用,但是我不想做到这一点,因为性能。; - (
关于该怎么做的任何建议?您如何一次在导入多个文件时检查错误?我愿意提出建议。
您可以尝试将错误发送到文件而不是表。此选项可能与多个文件一起使用。
另外,还有很长的路要走。您可以创建一个UDF脚本,并使用它并行读取和解析所有文件。对于Java,您可以使用Univocity CSV解析器。您将能够微调记录和转换,并且总体上具有令人难以置信的灵活性。但这需要编码。
如果UDF脚本是可接受的选项,我可以与您共享一些代码。