从marklogic批量导出

时间:2012-12-12 12:54:24

标签: marklogic

我编写了一个xquery,用于将主文件及其相关文件从Marklogic导出为zip文件。现在我有一个要求,我需要导出大量此类文件。我想到的那种明显的方法是zip文件的zip。 准确解释说有2个文件需要导出A,B和这两个文件中的每一个都可能有一些与之关联的子文件说 A具有三个子文件,即A1,A2和A3,类似地,B具有2个子文件,即B1和B2。所以我的想法是为每个文件及其子文件创建一个zip,最后从所有zip文件中创建一个zip文件。

Zip-->zip1-->(A,A1,A2,A3)
   -->zip2-->(B,B1,B2)

想知道这种方法是否合适,或者是否有其他更好的批量导出方法可用。

3 个答案:

答案 0 :(得分:1)

考虑一下你不仅仅批量导出A和B,而且可能有50万个类似A / B的文件。你将创建50万个zip文件,但也将它包装在一个巨大的zip文件中。听起来你应该考虑批量处理文件,并返回多个zip文件,每个文件包含10到1000个文件。多少取决于您的系统有多少内存。考虑创建并行运行和创建zip文件的批次的想法。

拉链中的拉链听起来有点矫枉过正,你也可以使用拉链内的文件夹。但除此之外,它应该有效。

HTH!

答案 1 :(得分:0)

我同意嵌套拉链可能是不必要的。就出口而言,没有必要重新发明轮子:看看http://marklogic.github.com/xqsync/http://docs.marklogic.com/guide/ingestion/content-pump

答案 2 :(得分:0)

还要意识到zip文件或它们包含的文件的最大大小为4G。 这可能会阻碍你对一个巨大拉链的想法。