Spark技术栈有哪些组件,每个组件都有什么功能,适合什么应用场景?

1)Spark core:是其它组件的基础,spark的内核,主要包含:有向循环图、RDD、Lingage、Cache、broadcast等,并封装了底层通讯框架,是Spark的基础。

 

2)SparkStreaming:(类似于storm)可以对实时数据流进行高通量、容错处理的流式处理系统,可以对多种数据源(如Kafka、Flume、Twitter、Zero和TCP 套接字)进行类似于hadoop中的Map、Reduce和Join等复杂操作,将流式计算分解成一系列短小的批处理作业。

 

3)Spark SQL:Shark是SparkSQL的前身,Spark SQL的一个重要特点是其能够统一处理关系表和RDD(弹式分布数据集),使得开发人员可以轻松地使用SQL命令进行外部查询,同时进行更复杂的数据分析。

 

4)BlinkDB :是一个用于在海量数据上运行交互式 SQL 查询的大规模并行查询引擎,它允许用户通过权衡数据精度来提升查询响应时间,其数据的精度被控制在允许的误差范围内。

 

5)MLBase是Spark生态圈的一部分专注于机器学习,让机器学习的门槛更低,让一些可能并不了解机器学习的用户也能方便地使用MLbase。MLBase分为四部分:MLlib、MLI、ML Optimizer和MLRuntime。

 

6)GraphX是Spark中用于图和图并行计算

你可能感兴趣的:(spark)