一、Spark大数据技术基础

一、Spark大数据技术基础

    • 大数据的特点:4V
    • 大数据关键技术
    • 大数据计算模式
    • 代表性大数据技术
      • Hadoop 海量数据的存储与计算
      • Spark
        • Spark与Hadoop的对比
        • Hadoop和Spark的统一部署
      • Flink
    • 习题

大数据的特点:4V

  1. 数据量大 Volume
    • 大数据摩尔定律
  2. 数据类型繁多 Variety
    • 结构化数据
    • 非结构化数据 占90%
  3. 处理速度快 Velocity
    • 数据处理和分析的速度通常要达到秒级响应
  4. 价值密度低 Value
    • 很多有价值的信息都是分散在海量数据中的

大数据关键技术

  1. 数据采集与预处理
  2. 数据存储与管理
  3. 数据处理与分析
  4. 数据可视化
  5. 数据安全与隐私保护

大数据计算模式

  1. 批处理计算

    • 针对大规模数据的批量处理
    • MapReduce,Spark
  2. 流计算

    • 针对流数据的实时计算
  3. 图计算

    • 针对大规模图结构数据的处理
    • GraphX
  4. 查询分析计算

    • 大规模数据的存储管理和查询分析
    • Hive

代表性大数据技术

Hadoop 海量数据的存储与计算

  1. HDFS (Hadoop分布式文件系统)

    1. 很好的容错能力
    2. 兼容廉价的硬件设备
    3. 大流量和大数据量的读写
    • 结构:Master/Worker
      • 名称节点:NameNode,中心服务器,负责管理文件系统的命名空间及客户端对文件的访问
      • 数据节点:DataNode,负责处理文件系统客户端的读写请求,在NameNode的统一调度下进行数据块的创建、删除和复制等操作
  2. MapReduce (分布式并行编程模型)

    1. 设计理念:计算向数据靠拢;移动计算比移动数据更加经济。
  3. YARN (一个集群,多个框架)

    1. 负责集群资源调度管理的组件
    2. 实现集群资源共享和资源弹性收缩
  4. HBase

    1. 高可靠、高性能、面向列、可伸缩的分布式数据库
    2. 主要用来存储非结构化和半结构化的松散数据
    3. 一般使用HDFS作为HBase的底层数据存储方式
  5. Hive

    1. 基于Hadoop的数据仓库工具
    2. HiveQL
  6. Flume (高可用的、高可靠的、分布式的海量日志采集、聚合和传输系统)

  7. Sqoop (SQL-to-Hadoop)


Spark

Spark与Hadoop的对比

  1. Hadoop中MapReduce计算框架的缺点

    1. 表达能力有限。计算都必须转换成Map和Reduce两个操作
    2. 磁盘I/O开销大。每次执行都需要从磁盘读取数据,并且在计算完成后需要将中间结果写入到磁盘中
    3. 延迟高。难以胜任复杂多阶段的任务
  2. Spark优点

    1. Spark的计算模式也属于MapReduce,但不局限于Map和Reduce操作
    2. Spark提供了内存计算,中间结果直接存放到内存中
    3. Spark基于DAG的任务调度执行机制,优于MapReduce的迭代执行机制
    • 更适合迭代运算比较多的数据挖掘和机器学习运算。

Hadoop和Spark的统一部署

不同的计算框架统一运行在YARN的好处:

  1. 计算资源按需伸缩
  2. 不同负载应用混搭, 集群利用率高
  3. 共享底层存储,避免数据跨集群迁移

Flink

针对流数据和批数据的分布式计算框架

批数据是流数据的一个特例


习题

  1. 请阐述大数据处理的基本流程
  2. 请阐述大数据的计算模式及其代表产品
  3. 请列举Hadoop生态系统的各个组件及其功能
  4. 分布式文件系统HDFS的名称节点和数据节点的功能分别是什么
  5. 试阐述MapReduce的基本设计思想
  6. YARN的主要功能是什么?使用YARN可以带来哪些好处?
  7. 试阐述Hadoop生态系统中HBase与其他部分的关系
  8. 数据仓库Hive的主要功能是什么?
  9. Hadoop主要有哪些缺点?相比之下,Spark具有哪些优点?
  10. 如何实现Spark和Hadoop的统一部署?
  11. Flink相对于Spark而言,在实现机制上有什么不同?
  12. Beam的设计目的是什么?具有哪些优点?

参考文献:林子雨《Spark编程基础》

你可能感兴趣的:(Spark学习,spark)