我是Clojure的新手,我的第一个项目必须处理巨大的(250 + GB)XML文件.我想把它放到PostgreSQL中以便稍后处理它,但是不知道如何处理这么大的文件.
Jus*_*mer 19
我用新clojure.data.xml的方法在一台普通的笔记本电脑上处理一个31GB的维基百科转储.旧的lazy-xmlcontrib库对我不起作用(内存耗尽).
https://github.com/clojure/data.xml
简化的示例代码:
(require '[clojure.data.xml :as data.xml]) ;'
(defn process-page [page]
;; ...
)
(defn page-seq [rdr]
(->> (:content (data.xml/parse rdr))
(filter #(= :page (:tag %)))
(map process-page)))
Run Code Online (Sandbox Code Playgroud)