spark基础

spark可类比于hadoop的MapReduce,性能上有更多优化,一个主要的特点就是spark是基于内存运算的,相比于MapReduce的基于磁盘,减少了IO开销,运算速度快;另一个优化是spark提供基于DAG的运算,防止数据反复落地;同时spark提供多种计算模式,满足不同需求

spark 生态系统

下图展示了spark生态系统的主要模块:
spark基础
Mesos,hadoop YARN:底层资源调度管理器
HDFS:hadoop基于磁盘分布式文件系统;S3:亚马逊云端存储服务
Tachyon:基于内存的分布式文件系统
SparkCore:Spark应用模块的基础
SparkStreaming:满足流计算需求
StructuredStreaming:支持毫秒级流计算需求
SparkSql:满足交互查询分析需求
SparkGraphX:满足图计算需求
SparkMLlib:提供机器学习算法库

应用场景 时间 其他框架 spark框架
批数据处理 小时 mapreduce,hive spark core
基于历史数据的交互查询 分,秒 Impala,Dremel Drill spark sql
基于实时流数据处理 秒,毫秒 Storm,S4 spark streaming,structured streaming
基于历史数据的挖掘计算 - mahout spark mlib
基于图数据的计算 - pregel,hama spark graphx

spark 部署

spark 部署分为单机模式和集群模式
集群调度模式有三种:

standalone
YARN
mesos