假设文件XYZ的数据大小为68MB。因此块(默认块为64MB)将为A-64MB和B-4MB。 在B块中,剩余的空间被另一个数据块占用。
因此,当对XYZ数据文件进行处理时,将处理A anb B块数据。自B块 包含另一个文件的数据,HADOOP如何知道块的哪个部分要处理 B块?
答案 0 :(得分:1)
如果您的文件(XYZ
)为68 MB并且假设您的块大小为64MB
,那么数据将被拆分为2个块。 Block-A将存储64MB
数据,然后Block-B将存储4MB
的其余部分,并且该块将被关闭(此处没有空间浪费),没有其他文件的数据将是进入Block-B。
因此,在处理时,MapReduce确切地知道要为特定文件处理哪些块。当然,还有其他约束,如输入拆分,MapReduce会在处理块时计算出记录边界。