初识Spark

Spark基础及架构

Spark是类Hadoop MapReduce的通用并行框架

  • Job中间输出结果可以保存在内存,不再需要读写HDFS
  • 比MapReduce平均快10倍以上

Spark优势

  • 速度快
    1. 基于内存数据处理,比MR快100个数量级以上(逻辑回归算法测试
    2. 基于硬盘数据处理,比MR快10个数量级以上
  • 易用性
    1. 支持Java、Scala、Python、R语言
    2. 交互式shell方便开发测试
  • 通用性
    1. 一栈式解决方案:批处理、交互式查询、实时流处理、图计算及机器学习
  • 随处运行
    1. YARN、Mesos、EC2、Kubernetes、Standalone、Local

Spark技术栈

  • Spark Core:核心组件,分布式计算引擎
  • Spark SQL:高性能的基于Hadoop的SQL解决方案
  • Spark Streaming:可以实现高吞吐量、具备容错机制的准实时流处理系统
  • Spark GraphX:分布式图处理框架
  • Spark MLlib:构建在Spark上的分布式机器学习库

Spark运行架构
初识Spark

  • 在驱动程序中,通过SparkContext主导应用的执行
  • SparkContext可以连接不同类型的Cluster Manager(Standalone、YARN、Mesos),连接后,获得集群节点上的Executor
  • 一个Worker节点默认一个Executor,可通过SPARK_WORKER_INSTANCES调整
  • 每个应用获取自己的Executor
  • 每个Task处理一个RDD分区

Spark架构核心组件

初识Spark

Spark下载安装

下载地址

安装布署

Spark学习的第一个程序

Spark RDD (必学)

  • Spark RDD算子大全(Java、Scala双版本):点击这里