我们正在探索使用 MR 来并行化长时间运行的流程。我们所有的数据目前都驻留在 RDBMS 中。我们知道 HDFS 是 MR 的底层基于文件的数据存储,但不确定以下内容:
- 我们是否必须将所有 RDBMS 数据移动到 HDFS 才能使用 MR?
- 这种移动是永久性的还是暂时的,仅在 MR 过程的生命周期内?
- 我们能否将 MR 用于其并行功能,而作业仍然从传统来源(不是 HDFS)访问数据
我认为您不必将所有 RDBMS 数据移动到 HDFS 即可使用 MR。让我们看看 Sqoop 是如何将数据从 RDBMS 加载到 HBase/HDFS 的。
[DBInputFormat]
Sqoop 将在1的帮助下通过 MapReduce 加载数据 (这是一个连接器,允许 Hadoop MapReduce 程序从 SQL 数据库中读取行)。