我正在使用mlcp加载数据。完成此过程后,我如何获得插入到数据库中的文档数量?
编辑:实际上,我正在从java初始化这个MLCP过程,我希望在java应用程序中插入记录计数。如何从Java应用程序获取插入的记录计数
发布于 2015-02-25 01:18:34
当它运行时,mlcp会记录ATTEMPTED_INPUT_RECORD_COUNT和所有错误。你可以用这个。
如果您从一个已知的计数开始,您可以在管理UI中查看数据库状态。
既然您的文档已经在数据库中,那么您还可以使用xdmp:estimate查询它们并对它们进行计数。例如,设置一个内置了时间戳的输出集合通常是一个好主意。或者,如果启用了maintain-last-modified,您可以使用它。
如果这些想法不起作用,也许你可以澄清这个问题?
发布于 2015-02-25 01:58:36
您是在寻找一种手动获取计数的方法,还是在寻找一种编程方法来获取计数,其中您可能有一些代码对该计数执行某些操作?
对于后者,我第二个mblakele上面的答案-集合很容易被滥用,但我认为这是一个很好的用例,假设您的数据库中已经有一些其他文档,因此不能只计算数据库中的所有文档。使用-output_collections指定一个集合,然后使用MLCP使用的XDBC服务器,并发出xdmp:estimate查询来获取计数。
如果是后者,我感兴趣的是您是否正在使用某种ETL工具来调用MLCP --例如Camel、Spring Integration或众多图形工具中的一种。改进MLCP与这些工具的集成是我感兴趣的一个领域-请参见https://github.com/rjrudin/ml-camel-client的示例。
发布于 2015-02-25 18:59:57
是的,我是"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它将在“log”文件夹下创建一个日志文件,您可以在其中获取摄取的记录计数。例如:

https://stackoverflow.com/questions/28694974
复制相似问题