gpt4 book ai didi

Hadoop Mapreduce HDFS block 拆分

转载 作者:可可西里 更新时间:2023-11-01 15:26:11 26 4
gpt4 key购买 nike

我的问题是我有一个文本文件,其中有 100 个单词,用空格分隔,我需要做一个单词计数程序。

那么,当我的名称节点将文件拆分为 HDFS block 时,我们如何确保拆分仅在单词末尾完成?

即,如果我将文本文件中的第 50 个单词作为 Hadoop,如果将其拆分为 64MB block 时,当前 block 的存储可能在单词 Hadoop 的中心达到 64MB,因此一个 block 包含 'had ' 和其他 block 中的另一个 'oop'。

抱歉,如果这个问题听起来很愚蠢,但请提供答案。谢谢。

最佳答案

你的答案是输入拆分。

因为 HDFS 不知道文件的内容。在将数据存储到多个 block 中时,每个 block 的最后一条记录可能会被破坏。记录的第一部分可能在一个 block 中,同一记录的最后部分可能在其他 block 中。

为了解决 block 中的此类问题,MapReduce 使用了输入拆分的概念。

“ block ”不过是分布在多个数据节点上的大小为 128MB 的数据的物理划分,而“输入拆分”是数据的逻辑划分。

在运行 MapReduce 程序时,映射器的数量取决于输入拆分的数量,而在处理输入拆分时,包括包含损坏记录的下一个 block 的位置。

上图显示有三个 HDFS block ,Block-1 数据的最后一部分存储在 Block-2 中。在这种情况下,输入拆分将获取 Block-2 的位置以检索损坏的记录。

hadoopchannel

关于Hadoop Mapreduce HDFS block 拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46949331/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com