问题标签 [marklogic-corb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
marklogic - 如何设置 CORB 日志来调试 XQUery 信息
我正在使用 CORB 通过命令在 MarkLogic DB 上运行模块:
ml 本地 corb --modules=abcd.xqy
并希望在我已添加xdmp:log()
到abcd.xqy
. 但是,我无法找出生成日志消息的位置。它不在命令提示符下,也不在 MarkLgoic 日志目录中。
有没有办法通过属性文件设置 CORB 日志设置?如果是,如何?或任何其他方式来跟踪生成的日志消息。
以下的一些背景是:
- 我已经通过 roxy 命令摄取了 RDFXML
ml 本地部署内容
- 现在,我将 RDFXML 作为输入,并通过上述 CORB 命令将它们转换为三元组。它正在成功运行。
- insert-taxonomy-triples.xqy 有一些日志消息没有显示在命令提示符以及 MarkLogic 日志目录中。
ml local corb --modules=/tools/ingest/insert-taxonomy-triples.xqy --uris=/tools/ingest/find-taxonomy-uris.xqy
插入分类-triples.xqy
在“/MarkLogic/semantics.xqy”处导入模块命名空间 sem =“ http://marklogic.com/semantics ”;在“/app/common/constants.xqy”处导入模块命名空间c =“ http://bsigroup.com/ns/meddev/common/constants ”;
声明命名空间 xdmp = " http://marklogic.com/xdmp ";
将变量 $URI 声明为 xs:string external;
let $taxonomy-name := fn:replace(fn:replace($URI, '/taxonomies/',''), '.rdf','')
让 $graph-name := fn:concat($c:BSI-TAXONOMY-BASE-URI, $taxonomy-name)
让 $log := xdmp:log("xxxxxxxxxxxxxxx")
let $log := xdmp:log(fn:concat("/tools/ingest/insert-taxonomy-triples.xqy ", "main module: parsing taxonomy ", $URI, " and inserting triples to graph ", $graph-名称),“调试”)
让 $permissions := (xdmp:permission("meddev-role", "update"), xdmp:permission("meddev-role", "read"))
return sem:rdf-insert(sem:rdf-parse(fn:doc($URI), "rdfxml"), (fn:concat("override-graph=", $graph-name)), $permissions, ($图名))
查找分类-uris.xqy
声明命名空间 xdmp = " http://marklogic.com/xdmp "; 声明命名空间 cts = " http://marklogic.com/cts ";
让 $taxonomy-uris := cts:uri-match("/taxonomies/*")
let $log := xdmp:log(fn:concat('/tools/ingest/find-taxonomy-uris.xqy', '主模块:找到的分类是 ', fn:count($taxonomy-uris), ' URIs '), '调试')
返回 ( fn:count($taxonomy-uris), $taxonomy-uris )
命令提示符结果:
D:\mdol-dev\mdol-as>ml local corb --modules=/tools/ingest/insert-taxonomy-triple s.xqy --uris=/tools/ingest/find-taxonomy-uris.xqy
java -cp D:/mdol-dev/mdol-as/deploy/lib/java/corb.jar;D:/mdol-dev/mdol-as/deploy /lib/java/marklogic-xcc-5.0.2.jar com.marklogic.developer.corb.Manager xcc://adm in:admin@localhost:9002/meddev-content "" tools/ingest/insert-taxonomy-triples.x qy 1 tools/ingest/find-taxonomy-uris。 xqy "/" 医疗设备模块 false
登录到控制台 2014 年 7 月 16 日上午 10:35:59 com.marklogic.developer.SimpleLogger configureLogger
信息:设置日志记录:com.marklogic.ps 2014 年 7 月 16 日上午 10:35:59 com.marklogic.developer.corb.Manager 运行
信息:com.marklogic.developer.corb.Manager 开始:版本 2010-08-24.1 on 1.7 .0_40(Java(TM) SE 运行时环境)2014 年 7 月 16 日上午 10:35:59 com.marklogic.developer.corb。经理运行
信息:最大堆大小 = 1783 MiB 2014 年 7 月 16 日上午 10:35:59 com.marklogic.developer.corb.Manager prepareContentSource
信息:使用内容源 xcc://admin:admin@localhost:9002/meddev-content 2014 年 7 月 16 日上午 10:35:59 com.marklogic.developer.corb.Manager registerStatusInfo
信息:配置的模块数据库:meddev-modules 2014 年 7 月 16 日上午 10:35:59 com.marklogic.developer.corb.Manager registerStatusInfo
信息:配置的模块根目录:/2014 年 7 月 16 日上午 10:35:59 com.marklogic.developer.corb.Manager registerStatusInfo
信息:配置的 uri 模块:tools/ingest/find-taxonomy-uris.xqy 2014 年 7 月 16 日上午 10:35:59 com.marklogic.developer.corb.Manager registerStatusInfo
信息:配置的流程模块:tools/ingest/insert-taxonomy-triples.xqy 2014 年 7 月 16 日上午 10:35:59 com.marklogic.developer.corb.Manager prepareModules
信息:检查模块,数据库:meddev-modules 2014 年 7 月 16 日上午 10:35:59 com.marklogic.developer.corb.Manager prepareModules
信息:跳过模块安装:tools/ingest/find-taxonomy-uris.xqy 2014 年 7 月 16 日上午 10:35:59 com.marklogic.developer.corb.Manager prepareModules
信息:跳过模块安装:tools/ingest/insert-taxonomy-triples.xqy 2014 年 7 月 16 日上午 10:35:59 com.marklogic.developer.corb.Manager populateQueue
信息:填充队列 2014 年 7 月 16 日上午 10:35:59 com.marklogic.developer.corb.Manager populateQueue
信息:调用模块 /tools/ingest/find-taxonomy-uris.xqy 2014 年 7 月 16 日上午 10:35:59 com.marklogic.developer.corb.Manager populateQueue
信息:预计总计 2014 年 7 月 16 日上午 10:35:59 com.marklogic.developer.corb.Manager populateQueue
信息:排队 2/2 Jul 16, 2014 10:35:59 AM com.marklogic.developer.corb.Monitor monitorResults
信息:监控 2 个任务 2014 年 7 月 16 日上午 10:39:29 com.marklogic.developer.corb.Monitor showProgress
信息:已完成 1/2,0 tps,1 个活动线程 2014 年 7 月 16 日上午 10:39:29 com.marklogic.developer.corb.Monitor monitorResults
信息:等待池终止 2014 年 7 月 16 日上午 10:39:29 com.marklogic.developer.corb.Monitor monitorResults
INFO:完成所有任务 2/2,0 tps,0 个活动线程
marklogic - Marklogic corb 任务的回滚
我正在编写一个 corb 任务,其中 uri 模块将一个文档 uri 列表传递给处理器模块,其中必须填充某个元素的字符串值。uri 模块列出了字符串比预期短的那些文档。由于更新后字符串将具有所需的长度,因此无法再识别更改的文档。此外,这些文档中的字符串之前的长度也不会有任何记录。所以,我看不到编写回滚脚本的简单方法。
对这种情况进行回滚的有效方法是什么?
我们没有版本管理文档。
java - CORB 作业:处理 ServerConnectionException:对等方重置连接
我正在尝试执行 CORB 作业来处理我的文档。但它在处理整个集合的一部分后抛出了以下异常。
我们尝试增加线程数和内存分配,但无济于事。
我的要求有两个:
这可能是什么根本原因?有没有办法解决这个问题?
如果没有,有没有办法在 shell 脚本中捕获这个异常,即执行相同?
xquery - MarkLogic 8 - Corb 传递除 $URI 以外的参数
所以我有一个文件uris.xqy,它获取我想在corb中操作的文档 URI 。
然后我有引入$URI 的
docs.xqy
declare variable $URI as xs:string external;
然后我对该文件进行一些处理。
现在我想从命令行向 corb 传递一个参数,这样
./ml ${Environment} corb --uris=/uris.xqy --modules=/docs.xqy --hello=world
当我执行上面的命令时,我可以访问hello ,它是docs.xqy中的内容世界。
xquery - 如果我没有在 Corb 中指定集合名称会发生什么
我有一个 corb 脚本来对 xml 文件运行节点替换。
如果我不指定集合,它会从现有集合中删除文档吗?
marklogic - MarkLogic Xquery
我需要使用 corb 来生成报告。
其中 Col1 在某种程度上是 Collections B,C 中的内部连接
我的uri.xqy
样子是这样的:
现在,我得到了各个集合的 URI。我需要将此传递给我process.xqy
的 in return (count($uris), $uris)
。
我想知道如何获取所有 $A、$B、$C 的计数并连接 $A、$B、$C 的所有 URI。
请帮忙
marklogic - 如何设置 CORB
如何构建此 XQuery 以在 CORB 作业中运行?使用匹配的候选 URI 处理每个文档的第二个模块不起作用。
URIS 模块
工艺模块
linux - CORB 批处理输出报告提取问题
在运行 CORB 作业时,我正在提取 100,000 个 URI 并将
数据加载到 Linux 服务器上的一个文件中。期望所有输出记录都应存储在一个具有 100k 计数的文件中。但是,数据存储在具有不同计数的多个文件中。任何人都可以帮助我解决CORB进程在输出目录中创建多个文件的根本原因吗?
请找到我在本地目录中配置的 CORB 属性文件的详细信息
属性文件:
marklogic - 试图在 Windows 机器上运行 Corb?
我尝试按照此文档运行示例 corb 示例。我的机器中有 MarkLogic 9,为此我下载了以下 jars marklogic-corb-2.4.0.jar
,marklogic-xcc-9.0.4
. 并创建了文档中指定的 selector.xqy 和 transform.xqy 文件,并将所有这些文件保存在 corb 文件夹中。当我尝试运行它时,它显示如下错误
是否需要进行任何其他配置更改才能运行 CORB ?
任何帮助表示赞赏
谢谢
csv - 使用 Java Client Api(DMSDK) 从 marklogic 创建一个 CSV 文件
我想为我的 marklogic db 中的 130 万条记录创建一个 csv 文件。我尝试为此使用 CORB,但它花费的时间比我预期的要多。我的数据是这样的
以下是我的 Corb 模块
选择器.xqy
Transform.xqy(我将所有元素保存在一个数组中)
我的属性文件
创建 csv 文件需要 1 个多小时。而且为了在集群中尝试,我需要先配置一个负载均衡器。而 Java Client api 将在没有任何负载均衡器的情况下在所有节点之间分配工作。
我如何在 Java Client APi 中实现相同的功能,我知道我可以使用ServerTransform
and触发转换模块ApplyTransformListener
。
但是我怎样才能像 CORB 中的那样发送 csv 文件头(即 EXPORT-FILE-TOP-CONTENT)。是否有实施文件的任何CSV
文件?哪个类将实现它?
任何帮助表示赞赏
谢谢