如何处理巨大的转储xml文件(约70g)并使用java或python将其保存到mysql

8iwquhpp  于 2021-06-19  发布在  Mysql
关注(0)|答案(1)|浏览(393)

这个问题在这里已经有答案了

大文件的java xml解析器(9个答案)
两年前关门了。
我下载 Stack Overflow posts dump file 去做我的工作。当我打开行李的时候 .7z 文件,文件 .xml 转储文件超过65g。
我想解析 .xml 文件,因为有很多内容我不需要。然后我想将用法内容存储到 Mysql 数据库( Java 或者 Python (都可以)
但文件太大,我无法处理它,它可能会溢出我的内存(8g)。
我能做些什么来解决这个棘手的问题。

42fyovps

42fyovps1#

基本上有两种xml解析器,dom解析器和sax解析器。
dom解析器将整个xml解析为dom(内存中xml的一种表示形式),dom易于使用和操作,但必须加载到内存中。
sax解析器是流解析器,它们解析xml文件并基本上发出xml元素的开始和结束。这意味着该文件没有加载到内存中。在大多数情况下,这使得xml的处理更加复杂,但您可以处理不适合内存的文件。
因此,选择您更喜欢的语言并使用sax解析器。python内置了它,对java不太清楚(我已经多年没有使用它了),但是可能有很多选择。

相关问题