hadoop - hadoop如何存储数据和使用MapReduce?

标签 hadoop mapreduce hdfs bigdata

当我试图理解hadoop 架构时,我想弄清楚一些问题。 当有大数据输入时,HDFS会把它分成很多 block (每个 block 64MB或128MB)然后复制很多次存储在内存块中,对吧?

但是,我仍然不知道MapReduce 在哪里工作。是用分合数据来存储的吗?或者用它来返回一些有用的输出?

最佳答案

在 HDFS 中存储数据与使用 MapReduce 范式分析数据是完全不同的事情。

当上传到 HDFS 时,大数据文件被拆分成 block 存储在数据节点中,每个 block 被复制的次数与配置的复制因子(默认为 3)一样多。数据拆分就像将文件除以配置的 block 大小一样简单。

如上所述,MapReduce 是分析大数据文件以获得增值信息时的一种编程范式。简而言之,每个文件 block 都分配给一个映射任务,以便所有映射器对 block 执行相同的操作;完成后,输出的部分结果将发送到 reducer,以便以某种方式聚合数据。

关于hadoop - hadoop如何存储数据和使用MapReduce?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29882326/

相关文章:

java - 打开作业 jar : file in hdfs 时出错

java - 从WordCount hadoop示例中调用HelloWorld JNI函数,给出错误java.lang.UnsatisfiedLinkError

hadoop - 如何根据 Hive 中的另一个表 b 替换表 a 中的值?

python - 如何使用Python跳过二进制标准输入的n行?

mongodb - 如何对另一个集合中的键进行 mapreduce

java - Hadoop Mapreduce中的XML解析

hadoop - 如何在 HDFS 中存储和分析带时间戳的日志

hadoop - 收到警告 ipc.Client : interrupted waiting to send params to server when copying files to HDFS

hadoop - 需要hdfs权限,而无需sudo或hdfs

hadoop - Hadoop Map/Reduce作业进度计数器