2

有没有可能使用 MLCP 作为 Marklogic 中的计划任务批量加载数据的方法

4

2 回答 2

2

内部的计划任务MarkLogic可以调用外部服务(使用HTTP),但它们没有办法运行外部命令。你确实有一些选择:

  • 在外部安排MLCP作业,在 Linux 上使用 cron 或类似的东西;
  • JavaScript使用or重构你的负载XQuery;您可以从文件系统中检索数据,通过一些转换运行它,然后使用运行的模块将其插入数据库MarkLogic
  • 设置 Java 应用服务器,让您的计划任务HTTP向该服务器发出请求并调用 Java 应用服务器MLCP

我想我会从第一个选项开始,但哪个最好取决于您的用例。

于 2015-04-17T15:37:46.523 回答
2

您不能通过计划任务调用 mlcp;我建议为此尝试类似 Apache Camel 的东西。

Camel 有一个 Timer 组件和一个 Quartz 组件,两者都可以用于调度。

这是一个示例 Camel 文件,其路由(已注释掉,但仍可操作)由计时器启动,然后将文件写入磁盘并通过 mlcp 摄取 - https://github.com/rjrudin/ml-camel-客户端/blob/master/src/main/resources/META-INF/camel-routes.xml

我在 Camel 中进行了各种处理/调度,然后最终通过 mlcp 摄取内容,取得了很大的成功。我认为它非常适合您的用例,因此您可以利用 mlcp 最擅长的功能 - 尽快将内容输入 MarkLogic。

于 2015-04-17T22:05:55.607 回答