北京网站设计公司兴田德润放心,淘宝客推广网站怎么做,wordpress标签搜索引擎,检测网站是否正常一、Spark简介 
Spark 是一个用来实现快速而通用的集群计算的平台#xff0c;官网上的解释是#xff1a;Apache Spark™是用于大规模数据处理的统一分析引擎。 Spark 适用于各种各样原先需要多种不同的分布式平台的场景#xff0c;包括批处理、迭代算法、交互式查询、流处理…一、Spark简介 
Spark 是一个用来实现快速而通用的集群计算的平台官网上的解释是Apache Spark™是用于大规模数据处理的统一分析引擎。 Spark 适用于各种各样原先需要多种不同的分布式平台的场景包括批处理、迭代算法、交互式查询、流处理等对外提供了十分丰富的API接口 除了提供基于 Python、 Java、 Scala 和 SQL 的简单易用的API 以及内建的丰富的程序库以外 Spark 还能和其他大数据工具密切配合使用。例如Spark 可以运行在 Hadoop 集群上访问包括 Cassandra 在内的任意 Hadoop 数据源。 
Spark最大的特点是基于内存的数据处理速度十分快号称是100倍于MapReduce处理数据速度。同时Spark还是一个大一统的软件栈其构成如下图所示  
二、Spark Core简介 
Spark Core 实现了 Spark 的基本功能包含任务调度、内存管理、错误恢复、与存储系统及Spark数据分析等模块。 Spark Core 中还包含了对弹性分布式数据集resilient distributed dataset简称 RDD 的 API 定义。 RDD 表示分布在多个计算节点上可以并行操作的元素集合是Spark 主要的编程抽象。 Spark Core 提供了创建和操作这些集合的多个 API。 Spark基本架构  
三、Spark SQL简介 
Spark SQL 是 Spark 用来操作结构化数据的程序包。通过 Spark SQL我们可以使用 SQL或者 Apache Hive 版本的 SQL 方言HQL来查询数据。Spark SQL 支持多种数据源比如 Hive 表、 Parquet 以及 JSON 等。除了为 Spark 提供了一个 SQL 接口 Spark SQL 还支持开发者将 SQL 和传统的 RDD 编程的数据操作方式相结合不论是使用 Python、 Java 还是 Scala 开发者都可以在单个的应用中同时使用 SQL 和复杂的数据分析。 
四、Spark Streaming 
Spark Streaming 是 Spark 提供的对实时数据进行流式计算的组件。比如生产环境中的网页服务器日志 或是网络服务中用户提交的状态更新组成的消息队列都是数据流。 SparkStreaming 提供了用来操作数据流的 API 并且与 Spark Core 中的 RDD API 高度对应。这样一来程序员编写应用时的学习门槛就得以降低不论是操作内存或硬盘中的数据还是操作实时数据流 程序员都更能应对自如。从底层设计来看 Spark Streaming 支持与Spark Core 同级别的容错性、吞吐量以及可伸缩性。 
五、Spark MLlib 
Spark 中还包含一个提供常见的机器学习ML功能的程序库叫作 MLlib。 MLlib 提供了很多种机器学习算法 包括分类、回归、聚类、协同过滤等还提供了模型评估、数据导入等额外的支持功能。 MLlib 还提供了一些更底层的机器学习原语包括一个通用的梯度下降优化算法。所有这些方法都被设计为可以在集群上轻松伸缩的架构。 
六、GraphX 
GraphX 是用来操作图比如社交网络的朋友关系图的程序库可以进行并行的图计算。与 Spark Streaming 和 Spark SQL 类似GraphX 也扩展了 Spark 的 RDD API能用来创建一个顶点和边都包含任意属性的有向图。 GraphX 还支持针对图的各种操作比如进行图分割的 subgraph 和操作所有顶点的 mapVertices以及一些常用图算法比如 PageRank和三角计数。 
七、集群管理器 
就底层而言 Spark 设计为可以高效地在一个计算节点到数千个计算节点之间伸缩计算。为了实现这样的要求 同时获得最大灵活性 Spark 支持在各种集群管理器cluster manager 上运行 包括 Hadoop YARN、 Apache Mesos以及 Spark 自带的一个简易调度器叫作独立调度器。 如果要在没有预装任何集群管理器的机器上安装 Spark那么 Spark自带的独立调度器可以让你轻松入门 而如果已经有了一个装有 Hadoop YARN 或 Mesos的集群通过 Spark 对这些集群管理器的支持你的应用也同样能运行在这些集群上。会详细探讨这些不同的选项以及如何选择合适的集群管理器。 
八、Spark的用户和用途 
Spark 是一个用于集群计算的通用计算框架因此被用于各种各样的应用程序。两大目标读者人群 数据科学家和工程师。仔细分析这两个群体以及他们使用 Spark 的方式我们不难发现这两个群体使用 Spark 的典型用例并不一致不过我们可以把这些用例大致分为两类——数据科学应用和数据处理应用。 
1、 数据科学任务 数据科学家data scientist 
2、 数据处理应用工程师