【发布时间】:2012-05-27 03:40:44
【问题描述】:
我正在尝试将一个 bzipped wiki XML 转储导入我的本地 wiki 数据库。我正在使用一个名为MWDumper 的工具来导入庞大的英文维基百科XML 转储。在我真正尝试导入之前,一切似乎都运行顺利(似乎 MWdumper 已成功构建,等等)。我启动了我的服务器,然后运行了以下命令(这似乎是上面链接中 MWDumper 页面上建议的方法):
java -jar mwdumper-1.16.jar --format=sql:1.5 enwiki-latest-pages-articles.xml.bz2 |
mysql -u root -p my_wiki
然后我收到以下错误消息:
Exception in thread "main" java.io.IOException: Stream is not in the BZip2 format
at org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream.init(BZip2CompressorInputStream.java:255)
at org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream.<init>(BZip2CompressorInputStream.java:138)
at org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream.<init>(BZip2CompressorInputStream.java:111)
at org.mediawiki.dumper.Tools.openBZip2Stream(Tools.java:42)
at org.mediawiki.dumper.Tools.openInputFile(Tools.java:28)
at org.mediawiki.dumper.Dumper.main(Dumper.java:124)
这似乎没有意义,因为我的文件 enwiki-latest-pages-articles.xml.bz2 似乎是正确的 bzip2 格式。 (我不确定我的 Apache commons 压缩包是否正确导入,尽管我假设它是正确的,因为我认为否则我不会收到此错误消息。)
编辑:此问题已解决。我在 MWDumper wiki 页面上下载了 MWDumper 的第三方版本。建议:不要尝试从源代码构建 MWDumper——它缺少 2005 年以来大量分散的源文件;只需使用第三方 mwdumper.jar。
【问题讨论】:
-
当你说它“看起来”是正确的 bzip2 格式时 - 你能用
bunzip2提取它吗? -
好吧,我可以试试,虽然我们说的是 25+ GB 未压缩...在采取那条路线之前,我会尝试一些替代方案。
-
好吧,鉴于错误特别指出它不是有效的 bzip2,这看起来像是您应该做的第一件事。当然,它可能很大 - 但你没有有那么多磁盘空间吗?或者,bunzip2 中是否有“验证”模式?
-
我通过下载 MWDumper 的第三方构建解决了这个问题,所以该文件实际上是一个有效的 bzip2.zip 文件。 (但无论如何感谢+1。)
-
谢谢,已添加到mediawiki.org/w/…,但如果您在此处添加您所做的确切操作以及它是如何失败的,也不会造成伤害。 :)
标签: java exception wiki mediawiki wikipedia