写在前面:
- 在部署hadoop之前,先学习下分布式架构。
- FS File System
- 文件系统是基于硬盘之上的一个文件管理的工具
- 我们用户操作文件系统可以和硬盘进行解耦
- DFS Distributed File System:
- 分布式文件系统
- 将我们的数据存放在多台电脑上存储
- 分布式文件系统有很多
- HDFS是mapreduce计算的基础
进入主题:
文件切分思想
- 文件存放在一个磁盘上效率肯定是低的
- 读取效率低
- 如果文件特别大会超出单机的存储范围
- 字节数组
- 文件在磁盘真实存储文件的抽象概念
- 数组可以进行拆分和组装,源文件不会受到影响
- 切分数据
- 对字节数组进行切分
- 拼接数据
- 按照数组的偏移量将数据连接到一起,将字节数组链接到一起
- 偏移量
- 当前数据在数组中的相对位置,你可以理解为下标
- 数组都有对应的索引(下标),可以快速的定位数据
- 数据存储的原理:
- 不管文件的的大小,所有的文件都是由字节数组构成
- 如果我们要切分文件,就是将一个字节数组分成多份
- 我们将切分后的数据拼接到一起,数据可以继续使用
- 我们需要根据数据的偏移量将他们重新拼接到一起
Block拆分标准
- 拆分的数据