在查看数据块的如何处理之前,我们需要更仔细地了解Hadoop如何存储数据。在Hadoop中,文件由一个一个的记录组成,最终由mapper任务一个一个的处理。
例如,示例数据集包含有关1987至2008年间美国境内已完成航班的信息。如果要下载数据集可以打开如下网址: stat-computing.org is expired 。每一年都会生成一个大文件(例如:2008年文件大小为108M),在每个文件中每单独的一行都代表一次航班信息。换句话说,一行代表一个记录。
1. Block
块是以 block size 进行划分数据。 因此,如果群集中的 block size 为 128 MB,则数据集的每个块将为 128 MB,除非最后一个块小于block size(文件大小不能被 block size 完全整除)。例如下图中文件大小为513MB,513%128=1,最后一个块(e)小于block size,大小为1MB。 因此,块是以 block size 的硬切割,并且块甚至可以在逻辑记录结束之前结束