hadoop - HDFS中的数据 block 划分是如何发生的?

标签 hadoop mapreduce hdfs

第1代大数据Hadoop。我对Apache Hadoop非常陌生。我只是怀疑可能与我的问题无关。

问题:字数统计问题(干调试)。

范例:

文件名称:test.txt

文件大小:120 MB

默认块大小:64 MB

文件内容:

Hello StackOverflow
Hi StackOverflow
Hola StackOverflow
Mushi Mushi StackOverflow
.....
.....
.....
Mushi Mushi StackOverflow

块数将是:2(64 MB + 56 MB)

块1包含:
Hello StackOverflow
Hi StackOverflow
Hola StackOverflow
Mushi Mus

第2块包含:
hi StackOverflow
.....
.....
.....
Mushi Mushi StackOverflow

注意:这里,Mushi字在块1和块2之间分割,因为在“Mus”字的块大小变为64 MB时,剩余的“hi”字进入了块2。

现在我的问题是:
Q1)有可能吗?

Q2)如果没有,为什么?

Q3)如果是,那么字数输出将是什么。

Q4)两个块的映射器的输出是什么。

最佳答案

MapReduce框架适用于 InputSplit 而不是 HDFS块

请查看下面的SE帖子,以更好地了解给定文件的InputSplit和映射器数量。

How does Hadoop process records split across block boundaries?

Default number of reducers

关于您的问题:

Q1) Is it possible scenario ?



是。可能。

Q3) If Yes, then what will be the word count output.



Block-2中的数据将复制到正在处理InputSplit的Mapper节点上。

更新:

关于注释中的其他查询,请查看Hadoop权威指南的以下内容:

The logical records that FileInputFormats define usually do not fit neatly into HDFS blocks. For example, a TextInputFormat’s logical records are lines, which will cross HDFS boundaries more often than not. This has no bearing on the functioning of your program — lines are not missed or broken, for example — but it’s worth knowing about because it does mean that data-local maps (that is, maps that are running on the same host as their input data) will perform some remote reads. The slight overhead this causes is not normally significant.



如果没有远程读取,则HDFS块是Mapper节点中的InputSplit。如果记录越过Mapper节点的边界,则远程读取将把数据提取到存在大部分数据的第一个Mapper节点。

关于hadoop - HDFS中的数据 block 划分是如何发生的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42067280/

相关文章:

hadoop - distcp没有执行

hadoop - 在 Hadoop 0.20 中使用分布式缓存进行复制连接

用于大型数据集(10 亿条记录)的 Hadoop UniqValueCount 映射和聚合缩减器

java - $HADOOP_COMMON_HOME 和 $HADOOP_HDFS_HOME 是同一个值吗?

java - ChainMapper 无法解析类型

hadoop - EMR 集群中的 "LOST"节点

sql-server - Sqoop 导出到 SQL Server : schemas?

java - "renew until"的 Kerberos 自动更新

hadoop - oozie中执行 Action 后删除hdfs路径

hadoop - 使用 hadoop 快速编码我的视频