我正在使用mlcp加载数据。完成此过程后,如何获取插入数据库的文档数量?
编辑:其实我正在从java初始化这个MLCP进程,我希望在java应用程序中插入记录计数。如何从Java Application
获取记录插入计数答案 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”文件夹下创建一个日志文件,您可以在其中获取摄取的记录数。例如: