xml数据通过api登陆hadoop

q5lcpyga  于 2021-06-03  发布在  Hadoop
关注(0)|答案(4)|浏览(305)

我们正在通过api接收大量的xml数据。为了处理这个大数据集,我们计划在hadoop中实现它。
需要您帮助理解如何有效地将数据引入hadoop。有什么可用的工具?有没有可能把这些数据实时带过来?
请提供您的意见。
谢谢你的帮助。

6vl6ewon

6vl6ewon1#

您希望将数据放入avro或您选择的协议缓冲区进行处理。一旦有了与文本格式匹配的缓冲区,hadoop生态系统就可以更好地帮助处理结构化数据。
hadoop最初被发现最有用的方法是获取日志文件的一行条目,并构造/处理日志文件中的数据。xml已经结构化,需要更多的处理能力才能将其转换为hadoop友好的格式。
一个更基本的解决方案是使用wukong(ruby streaming)或python替代方法对xml数据和进程进行分块。由于您的网络受到第三方api的约束,因此流式解决方案可能会更加灵活,最终也会以同样的速度满足您的需求。

fjaof16o

fjaof16o2#

如果您的唯一目标是让数据到达hdfs,那么您可以按照一些约定(如data-2013-08-05-01.xml)继续将xml响应写入磁盘,并每天(或每小时)编写一个cron以将xml数据导入hdfs。如果你不需要流媒体功能,那么运行flume就太麻烦了。从您的问题来看,现在还不清楚您为什么需要hadoop?你需要管理乔布斯先生吗?

lp0sw83n

lp0sw83n3#

Flume,抄写和chukwa是可以完成上述任务的工具。然而,Flume是三种最常用的工具。flume具有强大的可靠性和可用的故障转移技术。flume也有cloudera提供的商业支持,而其他两个则没有。

jdgnovmf

jdgnovmf4#

由于您正在接收大量的数据,适当的方法imho是使用一些聚合工具,如flume。flume是一种分布式的、可靠的、可用的服务,可以有效地从不同类型的源收集、聚合和移动大量数据到hadoop集群中。
您可以根据收集数据的需要轻松编写自定义源代码。您可能会发现此链接有助于入门。它提供了一个定制的flume源代码,用于连接到twitter流api,并将原始json格式的tweet接收到hdfs中。您可以为xml数据尝试类似的方法。
你可能还想看看apache chukwa,它也有同样的功能。
hth公司

相关问题