处理非结构化的大xml文件

r6l8ljro  于 2021-06-03  发布在  Hadoop
关注(0)|答案(3)|浏览(328)

我对大小接近500行的xml文件执行了以下解决方案:
使用xslt将大xml文件转换为包含必需元素的小xml文件
转换格式
而不是在java代码中使用saxonxml解析器来解析这些新生成的文件
而不是使用jaxbi的概念将xml解组到java对象和sqlserver。
但是现在我有了新的xml文件,它们非常大,将近15000行或更多行,而且非常非结构化。因此,使用上述解决方案来获取数据库中的数据将是非常低效的。我试图找出什么可能是最好的解决方案来处理这些大文件。我做了一些研究,发现了一个叫做“AltovaXMLSpy”的工具,我可以用它来降低我的非结构化xml文件的复杂性,我试着用这个工具来处理一个大文件,但效果不太好。我还想在hadoop集群中转储这些大文件,并使用hive/pig来获取数据。
所以我的问题是,有人能提出任何新的解决方案或程序吗。我可以使用任何工具将大的xml文件转换成不那么复杂的文件。
希望这些信息足够了。如果还需要什么,请告诉我。
先谢谢你。

mzsu5hc0

mzsu5hc01#

如果你打算用pig查询它,用pig来加载它怎么样?
例如 org.apache.pig.piggybank.storage.XMLLoader() 是一个函数。
但是如果你认为你需要一个集群来处理15000件物品,那你就错了。任何一台个人电脑都可以管理15000件物品。我同意迈克尔·凯的观点,这只是一个非常小的数据量。
根据我对hadoop集群的一点经验,如果用计算机查询的速度超过30-40秒,那么集群是没有用的,因为设置map reduce作业结构大约需要30秒。甚至对于在个人计算机上花费几分钟的查询,集群的复杂性也不值得您花上几秒钟的时间。

trnvg8h3

trnvg8h32#

1500行对我来说不算大。事实上,我会说它很小。
对不起,我帮不了你。我不明白为什么处理这种大小的数据会有问题。

beq87vna

beq87vna3#

如果不更详细地了解问题,就很难提出建议。您描述的过程本质上看起来非常低效—我不明白为什么需要jaxp步骤—但也许有一个很好的理由。抱歉,这不是一个简单的编码问题-它需要一两天的咨询帮助。

相关问题