Marklogic MLCP:如何获取插入的记录数?

时间:2015-02-24 11:45:55

标签: marklogic mlcp

我正在使用mlcp加载数据。完成此过程后,如何获取插入数据库的文档数量?

编辑:其实我正在从java初始化这个MLCP进程,我希望在java应用程序中插入记录计数。如何从Java Application

获取记录插入计数

3 个答案:

答案 0 :(得分:1)

运行时,mlcp会记录ATTEMPTED_INPUT_RECORD_COUNT以及任何错误。你可以使用它。

如果您以已知计数开头,则可以在管理界面中查看数据库状态。

既然您的文档在数据库中,您也可以查询它们并使用xdmp:estimate对它们进行计数。例如,设置一个内置时间戳的输出集合通常是个好主意。或者,如果启用了maintain-last-modified,您可以使用它。

如果这些想法没有帮助,也许你可以澄清这个问题吗?

答案 1 :(得分:0)

您是否正在寻找一种手动方式来获取计数,或者您是否正在寻找一种以编程方式获取计数的方法,在这些方法中您可能会使用某些代码来执行此操作?

对于后者,我在上面的第二个回答 - 集合很容易被滥用,但我认为这是一个很好的用例,假设你的数据库中已经有一些其他文件,因此可以&#39 ; t只计算数据库中的所有文档。使用-output_collections指定集合,然后使用MLCP使用的XDBC服务器并发出xdmp:estimate查询以获取计数。

如果是后者,如果您使用某种ETL工具调用MLCP,我感兴趣 - 例如Camel,Spring Integration,或许多图形工具之一。改进MLCP与这些工具的集成是我感兴趣的一个领域 - 请参阅https://github.com/rjrudin/ml-camel-client作为示例。

答案 2 :(得分:0)

是的,我和“mblakele”在一起。 MLCP支持log4j记录所有活动。要设置m4P安装目录的log4j转到'conf'目录,并用

更改'log4j.properties'的内容
#Define the root logger with appender file
log = C:/mlcp-Hadoop2-1.2-3/Log
log4j.rootLogger = INFO, FILE

#Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=${log}/log.out

# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%d{dd/MM/yyyy HH:mm:ss} %p %c{2}: %m%n

它将在“Log”文件夹下创建一个日志文件,您可以在其中获取摄取的记录数。例如:

MLCP LOG