1)
Hadoop 将 MapReduce的输入数据划分成等长的小数据块, 称为分片(split)。Hadoop为每个分片构建一个 map 任务,并由该任务来运行用户自定义的map函数从而处理分片中的每条记录
Map 的输出是写入本地的,不是HDFS
排序过以后的Map 输出会通过网络传输发送到运行reduce任务的节点
2) combiner 的使用
不是所有情况都适合使用,比如求平均值
3) HDFS
block: 小于一个块大小的文件不会占据整个块的空间
4) namenode 和 datanode
namenode: 管理者, 维护文件系统及系统内的文件和目录,损坏了即整个系统无法使用
datanode: 工作者,存储和检索数据块
目录作为元数据保存在namenode中,而非datanode中
5) java文件接口
通过FileSystem API 读取数据, 通过Hadoop Path 对象来代表文件(类似于java.io.File对象)