【Hadoop---04】HDFS概述「HDFS 概述 | HDFS架构 | HDFS 文件块 | _SUCCESS文件」

1. HDFS 概述

  1. 背景:随着数据量越来越大,在一个操作系统存不下所有的数据,就需要分配到更多的操作系统管理的磁盘中。但是不方便管理和维护,所以需要一种系统来管理多台机器上的文件,这种系统就是分布式文件管理系统。HDFS就是一种分布式文件管理系统。
  2. HDFS(Hadoop Distributed File System):Hadoop的分布式文件管理系统。
  3. 使用场景:适合一次写入(之后不能修改文件,但能追加文件)、多次读出的场景。(比如数仓)
  4. 优点:
    1. 高容错性 / 高可靠性
      在这里插入图片描述
    2. 适合处理大数据:GB、TB、PB级的数据。
    3. 可以构建在廉价机器上,成本低。
  5. 缺点:
    1. 不适合低延时数据访问:做不到像Mysql这样快速CRUD
    2. 无法高效的对大量小文件进行存储:因为是以块为单位进行存储,比如120MB,只存12kb就很浪费空间。
    3. 不支持并发写入、不支持文件随机修改
      1. 一个文件只能有一个线程进行写入,不允许多线程同时写;
      2. 文件写入后,后续只能进行数据追加(append),不支持文件的随机修改(update)

2. HDFS 架构

在这里插入图片描述

在这里插入图片描述

3. HDFS 文件块

可以通过配置/opt/module/hadoop-3.1.3/share/hadoop/hdfs-default.xml文件中的 dfs.blocksize 参数来规定块的大小。hadoop 2.x、hadoop 3.x 中默认大小是 128MB

  • 其推导过程如下:
    在这里插入图片描述
  • 小结:hadoop块大小主要取决于磁盘传输速率。

为什么块不能太大,也不能太小?

  • 块小,会导致寻址时间长贴近于传输时间
  • 块大,传输时间会远远大于寻址时间

4. HDFS _SUCCESS文件

在Hadoop中,当一个作业成功完成时,通常会在作业的输出目录中生成一个名为_SUCCESS的空文件。
在这里插入图片描述

这个_SUCCESS文件本身不包含任何数据,它的存在只是为了表示一个作业已经成功完成。如果一个作业失败,那么_SUCCESS文件将不会被生成。同样,如果一个作业正在进行中,那么_SUCCESS文件也不会存在。

这在自动化的数据管道中非常有用,因为你可以编写脚本检查这个_SUCCESS文件的存在,以确定一个作业是否已经成功完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ElegantCodingWH

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值