总结:大数据

一、Hadoop生态

   

二、基础组件之HDFS

1、不适合存储小文件,因为小文件太多会造成namenode节点的压力;

2、一个文件是由至少一个block组成,每个block默认备份三份;我们公司集群部署默认三个block部署在不同的机架,这样有一个机架挂掉,数据仍然可读。

3、目前集群总数据量超过100PB

4、文件写入是append的方式,不能修改某一行

5、适用场景

  • 一次写入多次读取
  • 大文件

6、访问方式

  • Java
  • Shell
    • cmd
    • mount:挂载的方式,挂载后像访问本地盘
  • WebHDFS
    • 提供接口访问HDFS,好处是不用安装hadoop环境

三、基础组件之YARN

1、作用

  • 集群资源管理:通过linux container进行资源隔离,目前只支持内存、CPU两个的资源隔离,network,disk IO还没有支持,后续会支持
  • 任务调度:队列(概念在这里)

2、框架介绍

2.1、角色

Resource Manager:管理整个集群的资源调度

Node Maneger:管理本机的资源情况,会告知Resource Manager本机还有多少空闲CPU,还有多少空闲内存

App Master:负责管理每个作业,每个作业内部会分成多个Container,这些Container由App Master统一调度。App Master在运行作业的时候会统一向Resource Manager请求资源。

2.2、总结

总体分成两层调度

机器资源层面调度:Resource Manager和Node Maneger

作业内部资源调度:App Master

2.3、任务调度基于队列的,这个搜一下,基于min-max公平策略

2.4、Yarn支持的计算引擎

MapReduce、Flink,Spark,Storm(很少用了,兼容性和扩展性都不好)

四、数据处理之MapReduce

1、两类

  • 批处理
    • 处理对象:批量数据,一般是文件或数据库中的数据
    • 计算工具:MapReduce/Spark Batches
  • 流处理
    • 处理对象:数据量,连续达到的无限数据序列
    • Flink、Spark Streaming

2、MapReduce

  • TB级别数据的并行处理
  • 离线计算
  • 工作方式
    • 切分,将输入文件进行切分成多份,每份叫split,每个split对应一个map任务。
      • 注意:切分的意思并不是真的把文件切分开,而是通过标记的方式,如文件有100行,分成10个任务,第一个任务运行0~10行,第二个任务运行11~20行,等等
    • split默认是按行分隔。
    • 输出成key value结构
    • shuffling:默认根据上面输出的key进行hash,这样的话,同一个hash值(即相同key)就会映射到同一个文件,确保同一个key被同一个reduce处理,保障统计准确。
    • Reducing:reduce将以上文件拉取到本地进行统计,存储
  • 延时
    • 由于涉及多次IO,因此计算时间也和文件大小有关
    • 一般都是分钟级别甚至是小时级别

MapReduce工作流程:

五、数据处理之Spark

1、介绍

基于内存计算的大数据处理框架。对标的是MapReduce,但是性能要比MapReduce快很多(快10~100倍)

2、优点

  • 通用性:丰富的操作,满足不同的大数据处理
  • 易用性:简洁的编程接口,快速上手。如实现个功能,Spark需要写较少的代码。
  • 集成:支持Hadoop,Mesos,K8s

3、缺点

  • 数据量不能太大,最多上百G,因为很多数据需要load到内存

六、数据处理之Flink

1、介绍

实时计算框架,对每条数据即时处理,毫秒级别延迟。相对应的,Spark Streaming流处理其实是微批次处理,2秒或5秒钟处理一次等,所以Spark Streaming实时性要差一些。

2、

七、SQL on Hadoop

1、介绍

Hadoop生态圈数据库主要分成两类,一类是基于SQL的关系型数据库,一类是基于key value的nosql数据库

2、基于SQL

3、nosql

七、数据分析之

参考:

MapReduce工作流程最详细解释

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值