我正在使用一个名为 XBus 的数据聚合平台。我需要先介绍一下。XBus 聚合了许多不同类型的数据源,如 RDBMS、XML 文件、JSON 文件、Web 服务等。用户可以定义一个数据处理流,其中包含许多操作,如join、order-by、filter、combine、group-by。然后该流程将转换为 XQuery 脚本。SAXON(一种 XML 流程引擎)将在单台计算机(服务器)中处理 XQuery 脚本。
但是如果数据量很大,完成的时间会很长。所以,我正在考虑 MapReduce 框架,它可以在分布式环境中处理大量数据。但我不确定 MapReduce 是否合适。
有一个问题可以表明我的怀疑。
由于它是一个数据聚合平台,原始数据存储在许多不同的系统中。在使用 MapReduce 处理数据之前,我们是否必须从这些系统中收集相关数据并将它们放入 Mapreduce (HDFS) 中?如果是这样,那将需要很长时间,对吧?