我编写了一个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)
想知道这种方法是否合适,或者是否有其他更好的批量导出方法可用。
答案 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。 这可能会阻碍你对一个巨大拉链的想法。