Spark初识

Spark初识

 spark是一个快速的统一的引擎,基于内存的运算
 spark有一个高级的DAG(有向无环图)引擎,支持循环的数据流和基于内存的计算
 spark支持的开发语言Java\Scala\Python\R
 spark提供了80多种算子操作
 在一个应用中可以无缝整合spark组件
 spark可运行在任何环境yarn、Mesos、standalone(调度的资源框架不同)
 可以访问各种各样的数据资源HDFS \Hive\Cassandra\HBase\S3(亚马逊)

 

资源调度

  Yarn:粗力度的资源调度框架(给足够的资源),底层是java

  Mesos:可粗可细(合理分配资源)底层是C++

存储

  HDFS基于磁盘

  Tachyan基于内存

计算

  Spark core

 

Hadoop慢的原因
大量的IO、额外的复制、序列化

 

大量的IO:
每个Job都要将数据从HDFS中读出,处理完后,再将数据写入HDFS中。
额外的复制
每个HDFS文件有三个副本,第一个副本存储在当前机器,第二个副本存储在不同机架上的机器,第三个副本和第二个同机架

Spark快的原因(基于内存、高效的DAG)
迭代计算,第一次计算读数据从HDFS读,计算之后结果存在内存,如果内存不够,经过配置,可落地到磁盘,保证数据不丢失。第二次计算时数据直接从内存读取。
也有副本机制,存在不同机器的内存中。

Spark的运行模式
Local 多用于测试
Standalone Spark自带的,独立的环境,可抛开Hadoop生态体系,有自己的资源管理(cluster resource manager)
Mesos 用的不多
Yarn 用的最多

posted on 2018-03-12 21:52  嘣嘣嚓  阅读(207)  评论(0编辑  收藏  举报

导航