2

在使用 MLCP 时,我在将文档从一个数据库复制到另一个数据库时遇到了选项文件(options.txt)中给出的“-batch_size”选项的一个奇怪问题,例如,如果-batch_size = 10 和要传输的文档数(在提供的基础过滤选项)是106,现在我执行命令: mlcp.bat -options_file "options.txt"

收到的内容泵统计信息如下:

 INFO contentpump.LocalJobRunner:com.marklogic.mapreduce.ContentPumpStats:
 INFO contentpump.LocalJobRunner: INPUT_RECORDS: 106
 INFO contentpump.LocalJobRunner: OUTPUT_RECORDS: 106
 INFO contentpump.LocalJobRunner: OUTPUT_RECORDS_COMMITTED: 100
 INFO contentpump.LocalJobRunner: OUTPUT_RECORDS_FAILED: 0
 INFO contentpump.LocalJobRunner: Total execution time: 37 sec

似乎在批处理(batch size=10)之后剩下的剩余文档是10*10 + 6,这6 个文档没有传输到所需的数据库。

因此不知何故,它只传输属于完整批次的文件,而不是不能形成完整批次的剩余文件。

有人可以建议解决此问题的方法以及导致此行为的原因。

4

1 回答 1

1

您是否验证了“丢失”的文档是否在目标数据库中?

有一段时间(至少在导入时)存在一个错误,其中统计数据有时不正确,即使行为是正确的。该问题已在 mlcp v8.0-4 中修复。

我要检查的另一件事是目标服务器上没有记录错误。OUTPUT_RECORDS < OUTPUT_RECORDS_COMMITTED 可以指示发生了导致某些提交失败的服务器端错误,如下所述:

http://docs.marklogic.com/guide/mlcp/getting-started#id_33299

最后,你用的是什么过滤器?-query_filter 可能会出现误报,因为它使用未过滤的搜索。我怀疑这是您遇到的问题,但认为值得一提。这里谈到了:

http://docs.marklogic.com/guide/mlcp/export#id_85989

于 2016-07-07T18:45:23.013 回答