分布式系统详解--框架(Spark-简介)

                分布式系统详解--框架(Spark-简介)

一、定义

Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎,Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架。

二、优势特点

Spark,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是——Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。

2.1 速度--以更快的速度运行工作负载

Apache Spark使用最先进的DAG调度程序,查询优化器和物理执行引擎,实现批处理和流数据的高性能。

2.2 便于使用--Java、Scala、Python、R、SQL

Spark提供80多个高级操作员,可以轻松构建并行应用程序。您可以 从Scala,Python,R和SQL shell中以交互方式使用它。

2.3 集合sql、流媒体和复杂的分析

Spark支持一堆库,包括SQL和DataFrames,用于机器学习的MLlib,GraphX和Spark Streaming。 您可以在同一个应用程序中无缝地组合这些库。

2.4 随处运行

Spark运行在Hadoop,Apache Mesos,Kubernetes,独立或云端。 它可以访问各种数据源。

您可以使用其独立群集模式,在EC2上,在Hadoop YARN上,在Mesos上或在Kubernetes上运行Spark。 访问HDFS,Alluxio,Apache Cassandra,Apache HBase,Apache Hive和数百个其他数据源中的数据。

三、Spark的组件

3.1 Spark Core:

包含Spark 的基本功能,包含任务调度、内存管理、容错机制。

内部定义了RDDs(弹性分布式数据集)。

提供了很多APIs来创建和操作这些RDDs。

应用场景,为其他组件提供底层的服务。

3.2 Spark SQL:

这是Spark 处理结构化数据的库,如同Hive SQL,Mysql一般。

应用场景,企业中用来做报表统计。

3.3 Spark Streaming

实时数据流处理组件,类似于Storm。

它提供了API来操作实时流数据。

应用场景,企业中用来从Kafka接收数据做实时统计。

3.4 Mlib:

一个包含通用机器学习的功能的包,Machine learning lib。

包含分类、聚类、回归等,还包括模型评估,和数据导入。

Mlib提供的所有方法,均支持集群中的横向扩展。

应用场景:机器学习

3.5 Graphx:

处理图的库(例如:社交网络图),并进行图的并行计算。

像Spark Streaming,Spark SQL一样,它继承了RDD API。

它提供了各种图的操作,和常用的图算法,例如PangeRank算法。

应用场景:图计算。

3.6 Cluster Managers:

集群管理,Spark 自带一个集群管理是单独调度器。

常见的集群管理包括Hadoop Yarn,Apache Mesos。

欢迎订阅公众号(JAVA和人工智能)

                                                                        获取更过免费书籍资源视频资料

                                             

精品文章推荐:

1,分布式系统详解 - 框架(Hadoop-集群搭建)

2,分布式系统详解 - 框架(zookeeper-简介和集群搭建)

3,分布式系统详解 - 框架(Hadoop的HDFS的HA搭建及测试)

4,分布式系统详解-框架(Hadoop-YARN的HA搭建及测试)

5,分布式系统详解-框架(Spark-简介)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值