• 2021寒假(15)


    什么是Spark
    Spark 是一种计算框架,是与mapreduce 不一样的计算框架。他与Hadoop mapreduce相比具有以下优势:
    1) Spark 通过将中间结果缓存在内存,而不是磁盘,因此很适合于多阶段的作业,如需多次迭代的机器学习。而 mapreduce 则将中间结果每次都存到磁盘,速度下降很多。
    2) Spark 在通信方面采用
    Akaa 框架的(角色) Actor 模型,并通过线程池复用线程来避免进程或线程启动和切换开销。而Hadoop mapreduce 最初的设计是为了离线批量计算大文件,运行都是好几个小时,所以作业调度中秒级的开销根本没考虑和优化。
    3) Spark 任务在 Shuffle 中不是所有情景都需要排序。而MapReduce在数据 Shuffle之前花费了大量的时间来排序。
    总之, Spark在速度上要比 mapreduce快很多。在流式计算方面, Spark流计算与 Storm相比,速度不及 Storm。Storm可以达到毫秒级响应,而 Spark只能达到秒级。但是Spark流计算更适合于计算较复杂的应用,特别是需要流数据与历史数据结合的计算。而Storm只能完成简单的计算,如广告点击率等。
    此外, Spark的吞吐量要远高于 Storm

    大数据

    大数据很难有一个明确定义。但是他这样几个特点,即大容量、繁杂、高价值、快速,也就是 4 个 V。它与海量数据相比,我认为很难有一个界定,更多的是一种商业性的口号、名称, 它与海量数据有很多交叉的地方,只是为了适应新的网络化世界,而提出这种大数据概念。
    RDD基本概念
     
    (1)RDD的两种创建方式
      1)外部文件创建,如HDFS、本地文件。
      2)RDD 转换得到新的 RDD。
    (2)RDD的两种操作算子
      对于 RDD可以有两种计算操作算子:Transformation (变换)与 Action(行动)。只有行动( Action )算子才会触发作业(Job)提交。
    (3)RDD的重要内部属性
      1)分区列表。
      2)计算每个分片的函数。
      3)对父 RDD的依赖列表。
      4)对 Key-Value对数据类型 RDD的分区器,控制分区策略和分区数。
      5)每个数据分区的地址列表(如HDFS上的数据块的地址) 。
    (4)窄依赖和宽依赖
      窄依赖指,子 RDD分区只由一个或多个父RDD中的一个分区转换而来。map 操作就是一个父 RDD的一个分区, union 操作就是两个父RDD 的一个分区。
      宽依赖指,子 RDD 的分区由父 RDD 的所有分区转换而来,即经过过shuffle 操作。,如如 reduceByKey,groupByKey 等
     
  • 相关阅读:
    Python模块笔记
    js日期
    js字符串
    js數字
    js對象構造
    js 錯誤
    js break和continue
    js條件結構和循環結構
    js運算符
    js函數
  • 原文地址:https://www.cnblogs.com/ywqtro/p/14284030.html
Copyright © 2020-2023  润新知