Spark及其核心概念理解

  1. Spark是什么
    Spark是UC Berkeley AMP lab (美国加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce通用并行计算处理框架,是专为大规模数据处理而设计的快速通用的计算引擎。可以说,spark是对Hadoop大数据处理技术的延续和发展,既继承了hadoop分布式并行处理的相关理念,同时也解决了目前Hadoop存在的一些问题,比如MapReduc编程比较抽象,不支持迭代计算等。

  2. Spark核心概念理解
    Spark的核心抽象是RDD(Resilient Distributed Dataset),RDD翻译过来是“弹性分布式数据集合”,其物理形态可理解为内存中一个只读的带分区记录的数据集合。RDD的“分布式和数据集合”特征比较容易理解,那“弹性”特征如何理解呢?先简要介绍Spark中的“惰性计算”和“血缘关系”特性。
    “血缘关系”
    “血缘关系”是指Spark中的RDD都存在依赖关系,即RDD是由哪些其他RDD计算得到的,以及它的父RDD或子RDD是什么,RDD之间的依赖关系分成“宽依赖”和“窄依赖”,“宽依赖”会导致shuffle操作,系统会根据RDD之间的依赖关系生成DAG(有向无环图),后续的任务调度就是基于DAG进行的。
    “惰性计算”
    RDD的创建方式有三种:
    1)读取外部数据:如:RDD = hc.sql(“sql_text”)
    2)数据集合转换: 如:RDD = sc.parallelize(A)
    3)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值