0

我们正在探索使用 MR 来并行化长时间运行的流程。我们所有的数据目前都驻留在 RDBMS 中。我们知道 HDFS 是 MR 的底层基于文件的数据存储,但不确定以下内容:

  • 我们是否必须将所有 RDBMS 数据移动到 HDFS 才能使用 MR?
  • 这种移动是永久性的还是暂时的,仅在 MR 过程的生命周期内?
  • 我们能否将 MR 用于其并行功能,而作业仍然从传统来源(不是 HDFS)访问数据
4

2 回答 2

0

我认为您不必将所有 RDBMS 数据移动到 HDFS 即可使用 MR。让我们看看 Sqoop 是如何将数据从 RDBMS 加载到 HBase/HDFS 的。

[DBInputFormat]Sqoop 将在1的帮助下通过 MapReduce 加载数据 (这是一个连接器,允许 Hadoop MapReduce 程序从 SQL 数据库中读取行)。

于 2013-08-14T13:33:27.890 回答
0
  • 如果性能和可扩展性是您的首要任务,是的,您必须将所有数据从 RDBMS 移动到 HDFS 以进行高效处理。
  • MR 作业处理进出 HDFS 的数据。处理完数据后,您可以通过 MR 或仅使用 HDFS api 将数据从 HDFS 导入其他来源。
  • 不,您不能将 MR 用于其并行功能,而作业仍然从传统来源访问数据。MR 作业拆分输入数据并将其传递到各种地图。使用传统资源是不可能的。
于 2013-08-17T08:12:10.097 回答