monetdb无法批量加载42000语法错误

时间:2015-08-06 00:57:58

标签: monetdb

我正在尝试将一些数据批量加载到monetdb中。 我跟着this example。 它适用于我的测试数据。但是当我使用生产环境中的数据时,我会遇到异常。

Caused by: java.lang.Exception: 42000!syntax error, unexpected IDENT, expecting DELIMITERS in: "copy into dm.fact_sem_keyword_collection from stdin using delimters"
25005!current transaction is aborted (please ROLLBACK)
at com.lietou.bi.dw.task.common.dataexchange.MonetDBBulkLoadWriter.flush(MonetDBBulkLoadWriter.java:140)
... 12 more

我从调试日志中找到了以下日志。

20150804x_m_0001323100000001255480000000001310100152015-08-05 10:28:44
20150804x_z_0002000000000001000000000000000002015-08-05 10:28:44
20150804xn_cd_01000000000002000000000000000002015-08-05 10:28:44
20150804z_s_0002000000000001000000000000000002015-08-05 10:28:44

RD 1438779576672: read final block: 190 bytes
RX 1438779576672: !42000!syntax error, unexpected IDENT, expecting DELIMITERS in: "copy into dm.fact_sem_keyword_collection from stdin using delimters"
!25005!current transaction is aborted (please ROLLBACK)

RD 1438779576672: inserting prompt

我认为一定有一些不好的数据,但我不知道如何找到更多细节来帮助我找到它。

还有一件事。 Monetdb似乎使用8190字节的缓冲区大小读取数据。但是在异常之前,有一个不同大小的write final block。日志显示如下。这是什么意思?

...
TD 1438779576129: write block: 8190 bytes
TX 1438779576129:
... 
TD 1438779576137: write block: 8190 bytes
TX 1438779576137:
...
TD 1438779576137: write final block: 5921 bytes
TX 1438779576137:
...

0 个答案:

没有答案