2

I am loading data using mlcp. After completion of this process how can i get the number of documents inserted into the db?

Edit: Actually I am initializing this MLCP process from java and i want the record inserted count in the java application. How can i fetch the record inserted count from Java Application

4

3 回答 3

1

当它运行时,mlcp 记录ATTEMPTED_INPUT_RECORD_COUNT和任何错误。你可以用那个。

如果您从已知计数开始,您可以在管理 UI 中查看数据库状态。

现在您的文档已在数据库中,您还可以使用xdmp:estimate. 例如,设置一个内置时间戳的输出集合通常是一个好主意。或者,如果maintain-last-modified启用,您可以使用它。

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

于 2015-02-24T17:18:33.520 回答
0

您是在寻找一种手动方式来获取计数,还是在寻找一种编程方式来获取计数,您可能有一些代码可以处理该计数?

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

如果是后者,我很感兴趣您是否正在使用某种 ETL 工具来调用 MLCP——例如 Camel、Spring Integration 或众多图形工具之一。改进 MLCP 与这些工具的集成是我感兴趣的一个领域 - 有关示例,请参见https://github.com/rjrudin/ml-camel-client 。

于 2015-02-24T17:58:35.537 回答
0

是的,我和“mblakele”在一起。MLCP 支持 log4j 记录所有活动。设置 log4j 转到 MLCP 安装目录的“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

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

MLCP 日志

于 2015-02-25T10:59:56.510 回答