我为大小近500行的XML文件做了以下解决方案:
但现在我有了新的XML文件,这些文件非常大,接近15000行或更多,非常非结构化。因此,使用上述解决方案来获取数据库中的数据将是非常低效的。我试图找出与这些大文件一起使用的最佳解决方案。我做了一些研究,并且遇到了一个名为“Altova XML spy”的工具,我可以用它来使我的非结构化XML文件不那么复杂。我尝试使用这个工具使用一个大文件来运行它不能很好。我还想把这些大文件转储到hadoop集群中,并使用Hive / Pig来获取数据。
所以我的问题是任何人都可以建议任何新的解决方案或程序。我可以使用任何工具将大型XML文件制作成一些不那么复杂的文件来使用。
希望这么多信息就足够了。如果还有其他需要,请告诉我。
提前谢谢。
答案 0 :(得分:1)
如果不详细了解问题就很难提出建议。你描述的过程看起来本质上效率很低 - 我不明白为什么需要JAXP步骤 - 但也许有充分的理由。抱歉,这不是一个简单的编码问题 - 需要一两天的咨询帮助。
答案 1 :(得分:1)
如果你计划用猪查询它,那么使用Pig加载它也会怎么样?
例如org.apache.pig.piggybank.storage.XMLLoader()
是执行此操作的函数。
但是如果你认为你需要一个集群来玩15,000个项目,那你错了。任何个人计算机都可以管理15,000个项目。我同意Michael Kay的观点,这是一个非常少量的数据。
根据我对Hadoop集群的一点经验,如果使用计算机查询速度超过30-40秒,则集群没有用处,因为设置map-reduce作业大约需要30秒结构体。即使对于在个人计算机上花费几分钟的查询,群集的复杂性也不值得花费几秒钟。
答案 2 :(得分:0)
1500线对我来说听起来不是很大。事实上,我会称它为小。
对不起我真的不能帮忙。我不明白为什么处理这种大小的数据应该是一个问题。