HDFS全称Hadoop Distributed File System,看名字就知道是Hadoop生态的一个组件,它是一个分布式文件系统。
它的出现解决了独立机器存储大数据集的压力,它将数据集进行切分,存储在若干台计算机上。
HDFS 的特点与应用场景
- 适合存储大文件
HDFS 支持 GB 级别甚至 TB 级别的文件,它会把大文件切分成若干个块存储在不同的节点上,在进行大文件读写时采用并行的方式提高数据的吞吐量。
- 容错性高
HDFS有多副本机制,它会自动保存副本到不同的节点。即使有一台节点宕机了也不会丢失数据。
- 适用于流式的数据访问
HDFS 适用于批量数据的处理,不适合交互式处理。它设计的目标是通过流式的数据访问保证高吞吐量,不适合对低延迟用户响应的应用。
- 适用于读多写少场景
HDFS 中的文件支持一次写入、多次读取,写入操作是以追加的方式(append)添加在文件末尾,不支持对文件的任意位置进行修改。
HDFS的相关概念
- 数据块(Block)
和磁盘的数据块概念相似,磁盘中的块是数据读写的最小单位,而HDFS中文件被切分成多个块,作为独立的存储单元,但是比磁盘的块大得多,默认为128MB,且小于一个块大小的文件不会占据整个块的空间。
需要说明的一点是,数据块不能设置太小ÿ