Spark进阶(二)

Spark Stream

将Stream数据分成小的时间片段,以类似batch批处理的方式来处理这一部分数据,兼容实时数据处理的逻辑和算法和兼容批量处理。

Spark MLlib

Spark进阶(二)_第1张图片

SparkSQL

1.MapReduce计算过程大量的磁盘落地消耗了大量的io,降低运行效率。此时shark应运而生,同期的还有Impala和Drill。

shark(在hive的基础上,把HQL翻译成Spark的RDD操作。实现基于内存的SQL查询)
运作:通过Hive的HQL解析,把HQL翻译成Spark的RDD操作,然后通过Hive的metadata获取数据库的表信息,shark获取HDFS上的数据和文件并放到Spark上运行。
修改了hive的内存管理,物理计划,执行三个模块:
shark使用Hive的API来实现query parsing和Logic Plan generation,最后的Physical Plan Generation阶段用Spark代替Hadoop的Map Reduce

Spark进阶(二)_第2张图片

2.Shark对于hive的太多依赖(如采用hive的语法解析器、查询优化器等等),制约了Spark的统一栈管理的原则,故有了SparkSQL的出现。

  • SparkSQL汲取了Shark的优点,如内存列存储,hive的兼容性等
  • 同时还兼容RDD、parquet文件、Json文件中获取数据
  • 性能方面,除了内存列存储,还引进了Cost Model对查询进行动态评估

3.Spark和Impala在并发性还有一定的差距

GraphX

1.Pregel
google继mapReduce之后提出的又一计算模型,主要用于图的计算。

2.GraphX
有Table和Graph的两种图,但只需要一种物理存储,Table视图将图看成顶点属性和边属性的组合。

3.GraphX与Pregel的关系

Spark进阶(二)_第3张图片

Tachyon(HDFS(磁盘)tachyon(cache))

主从架构
分布式内存文件系统,用于缓存常用数据(HDFS是存储海量数据)

Spark进阶(二)_第4张图片

通过Zookeeper做HA,可以部署多台Standby Master

你可能感兴趣的:(Spark)