相关知识
-
物联网等感知技术将数据产生的速度推到顶峰
-
大数据的关键技术主要发生在
- 数据存储与管理(分布式存储)
- 数据处理与分析(分布式处理)
大数据计算模式
- 批处理计算(量大)
- 流计算(量不大,连续不断,及时响应)
- 图计算(图结构数据)
- 查询分析计算
大数据处理生态
hadoop是一个生态系统(mapreduce思想:分而治之)
spark是一个单纯的计算框架,和hadoop里的mapreduce(分布式计算框架)对等
hadoop的分布式文件系统是完全没问题的
spark改进
- 提供了更多的操作类型(不止map,reduce操作),表达能力更强
- 内存计算
- 有向无环图的任务调度机制(使很多操作可以流水线话操作)
spark生态系统,基本概念,架构设计
RDD运行原理
RDD加载后就不能修改,只能在转换的过程中来修改,转换后又不能修改
RDD操作分为:动作类型操作,转换类型操作,这两种操作都是粗粒度操作(不能对单条记录操作)
惰性调用机制
转换类型操作只记录转换轨迹,直到动作类型时才触发计算
流水线操作可以加速
流水线的中间结果直接持久化在了内存,避免了磁盘i/o的同时,避免了数据的序列化和反序列化
DAG图可以保证高效的容错性
RDD的宽依赖&窄依赖
- 只要发生shuffle的一定会写磁盘,是宽依赖,不发生shuffle的是窄依赖
- 窄依赖可以进行流水线优化(fork/join,避免无效等待)
- 宽依赖无法进行流水线优化
阶段生成
- 遇到窄依赖一直加,形成流水线操作,进行流水线优化
- 遇到宽依赖生成新的阶段
RDD运行过程