首页 > 代码库 > Spark的简介以及入门

Spark的简介以及入门

1.hadoop,spark,Flink的比较  

  MapReduce: 分布式的计算框架 -> Hive
   问题:
    shuffle:大文件的排序+读写磁盘+网络传输 => 比较慢
    只有两种执行算子/API: MapTask(数据转换+过滤)和ReduceTask(数据聚合) ==> 定制化稍微有点差
    不适合迭代式的计算
    对于需要快速执行的产生结果的应用场景不适合
  Spark:为了解决MapReduce执行慢、不适合迭代执行的问题
  Flink:类似于spark的基于内存的计算框架

 

2.学习方式

  spark案例:examples文件夹中
  spark源码:一定要回看spark源码,至少常用的必须知道,比如:RDD、SparkContext、DStream....
  官网:http://spark.apache.org/
  1.6.0帮助文档:http://spark.apache.org/docs/1.6.0/
  官方博客:https://databricks.com/blog

 

3.spark特点

  快
  简单/入手快
  公用性/普遍性
  可以运行在任何地方:local、yarn、standalone(类似于yarn的一个资源管理框架,是spark的一个模块)、mesos(apache顶级项目,类似yarn的一个资源管理框架)

 

4.spark结构

  技术分享  

  BDAS: 伯克利数据分析栈
  起源:加州大学伯克利分校的AMP实验室开源的一个计算框架
  结构:
    SparkCore: 核心部分
    SparkSQL: Spark中交互式处理模块
    SparkStreaming: Spark中流式数据处理的模块
    SparkMLib:Spark机器学习相关模块 => Mahout
    SparkGraphX: Spark中图形计算的模块

 

5.Hadoop与Spark的比较

  技术分享

 

Spark的简介以及入门