我正在使用名为XBus的数据聚合平台。我需要先介绍它。 XBus聚合了许多不同类型的数据源,如RDBMS,XML文件,JSON文件,Web服务和其他一些数据源。用户可以定义一个数据流程流,其中包含许多操作,如join,order-by,filter,combine,group-by。然后该流程将被转换为XQuery脚本。 SAXON(XML流程引擎)将在单台计算机(服务器)中处理XQuery脚本。
但是如果数据量很大,则需要很长时间才能完成。所以,我正在考虑MapReduce框架,它可以处理分布式环境中的大量数据。但我不确定MapReduce是否合适。
有一个问题可以表明我的怀疑。
由于它是一个数据聚合平台,原始数据存储在许多不同的系统中。在使用MapReduce处理数据之前是否有必要我们必须从这些系统中收集相关数据并将它们放入Mapreduce(HDFS)?如果是这样,它需要很长时间才能完成,对吧?
答案 0 :(得分:0)
是的,您必须将数据加载到HDFS然后进行处理。 MapReduce是否适用取决于不同的因素:
当您决定使用MR时,您可能会发现Cascading很有用。它是用于定义复杂数据流的数据API。该项目提供了诸如分叉,连接,标记,分组等抽象。