HDFS是否需要与MapReduce一起使用?

HDFS是否需要与MapReduce一起使用?,mapreduce,hdfs,Mapreduce,Hdfs,我们正在探索使用MR来并行化长时间运行的流程。我们所有的数据目前都驻留在RDBMS中。我们了解HDFS是MR的底层基于文件的数据存储,但不确定以下几点: 我们是否必须将所有RDBMS数据移动到HDFS以使用MR 这样的行动是永久性的还是临时性的,仅在MR流程的生命周期内 当jobs仍然从传统来源(而不是HDFS)访问数据时,我们是否可以将MR用于其并行功能 我不认为你必须把所有的RDBMS数据移到HDFS上,使用Mr.让我们来看看Sqoop如何从RDBMS到Hbas/HDFS加载数据。p>

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

  • 我们是否必须将所有RDBMS数据移动到HDFS以使用MR
  • 这样的行动是永久性的还是临时性的,仅在MR流程的生命周期内
  • 当jobs仍然从传统来源(而不是HDFS)访问数据时,我们是否可以将MR用于其并行功能

我不认为你必须把所有的RDBMS数据移到HDFS上,使用Mr.让我们来看看Sqoop如何从RDBMS到Hbas/HDFS加载数据。p> Sqoop将通过MapReduce在
[DBInputFormat]
(即)的帮助下加载数据。

  • 如果性能和可扩展性是您的首要任务,那么您必须这样做 将所有数据从RDBMS移动到HDFS以实现高效处理
  • 乔布斯先生处理来自HDFS内外的数据。在数据被删除之后 您可以通过MR或仅使用HDFS从HDFS导入数据 其他来源的API
  • 不,当作业仍然存在时,不能将MR用于其并行功能 从传统来源访问数据。乔布斯先生分割输入数据 并将其传递给各种地图。与传统的来源,它 这是不可能的

MR作业在处理过程中是否使用Sqoop从RDBMS读取数据?我以为Sqoop会在MR处理之前将数据加载到HDFS中?Sqoop进程本身的数据加载是错误的,我想知道使用Sqoop预加载数据是否会对我想要并行化的批处理进程产生反作用。我必须把MR卖给我的团队;预先加载数据只是为了在其上运行并行作业,这首先会侵蚀进行MR的roi和价值。使用Sqoop是有成本的,对吗?使用Sqoop将数据预加载到hdfs,然后执行MR是一种选择。但是您可以使用Sqoop的一些模块,例如DBInputFormat,直接在RDBMS中的数据之上设计MR。换句话说,MR使用Sqoop在RDBMS中加载数据,但您或您的团队可以设计应用程序来处理RDBMS中的数据,可能需要使用Sqoop的一些模块/代码。