Vertica - 有没有办法通过代码检索被拒绝的记录?
问题描述:
的“REJECTMAX”参数是执行复制命令的技术即使是在CSV无效的记录Vertica - 有没有办法通过代码检索被拒绝的记录?
(所以如果我有100条记录,其中9个为无效&最大拒绝为10的文件将上传)
我不知道是否有一种方式,我可以得到一个文本被拒绝的记录打印到被拒绝的文件,所以我可以登录到应用程序错误日志。
答
这里有一个关于如何使用REJECTED DATA的例子。假设你有一个像这样的表:
SQL> CREATE TABLE public.mydata (id INTEGER) ;
CREATE TABLE
和包含输入文件:
$ cat /tmp/mydata
1
2
3
ABC
4
5
显然ABC
将不适合到一个整数...
所以我们运行:
SQL> COPY public.mydata FROM '/tmp/mydata' REJECTMAX 2 REJECTED DATA '/tmp/mydata.rejected' ;
NOTICE 7850: In a multi-threaded load, rejected record data may be written to additional files
HINT: Rejected data may be written to files [/tmp/mydata.rejected], [/tmp/mydata.rejected.1], etc
Rows Loaded
-------------
5
现在...
$ cat /tmp/mydata.rejected
ABC
这是你在找什么?
要问明显,您的源数据记录是否有任何种类的主键可用于区分插入/拒绝哪些记录? –
否............. – kevinjoeiy
您是否已经看到被拒绝的数据文件,但它没有包含您期望的内容,或者您没有看到该文件吗? –