MapReduce(七)InputSplit和HDFS block的关系

InputSplit是block和mapper之间的代理,也即是为mapper提供了一个数据视图。

我们以HDFS的block的大小为128MB举例,当一行日志为130MB(包括行分隔符),这一行数据会被分在两个block中,如果mapper直接读block的话,会读到一个被截断的行日志。这是为什么在mapper和block之间添加一个Split层的原因。

对于上面的例子,我们只需设置InputSplit的大小为130MB,mapper即可读到完整的日志行。

posted @ 2021-06-17 16:03  ralgo  阅读(361)  评论(0)    收藏  举报