Spark是什么?

news/2024/12/31 1:31:47/
        Spark是个通用的集群计算框架,通过将大量数据集计算任务分配到多台计算机上,提供高效内存计算。如果你熟悉Hadoop,
那么你知道分布式计算框架要解决两个问题:如何分发数据和如何分发计算。Hadoop使用HDFS来解决分布式数据问题,
MapReduce计算范式提供有效的分布式计算。类似的,Spark拥有多种语言的函数式编程API,提供了除map和reduce之外
更多的运算符,这些操作是通过一个称作弹性分布式数据集(resilient distributed datasets, RDDs)的分布式数据框架进行的。
本质上,RDD是种编程抽象,代表可以跨机器进行分割的只读对象集合。RDD可以从一个继承结构(lineage)重建(
因此可以容错),通过并行操作访问,可以读写HDFS或S3这样的分布式存储,更重要的是,可以缓存到worker节点的内存
中进行立即重用。由于RDD可以被缓存在内存中,Spark对迭代应用特别有效,因为这些应用中,数据是在整个算法运算过程
中都可以被重用。大多数机器学习和最优化算法都是迭代的,使得Spark对数据科学来说是个非常有效的工具。另外,由于Spark
非常快,可以通过类似Python REPL的命令行提示符交互式访问。Spark库本身包含很多应用元素,这些元素可以用到大部分大数据应用中,其中包括对大数据进行类似SQL查询的支持,
机器学习和图算法,甚至对实时流数据的支持。核心组件如下:

Spark Core:包含Spark的基本功能;尤其是定义RDD的API、操作以及这两者上的动作。其他Spark的库都是构建在RDD和
Spark Core之上的。
Spark SQL:提供通过Apache Hive的SQL变体Hive查询语言(HiveQL)与Spark进行交互的API。每个数
据库表被当做一个RDD,Spark SQL查询被转换为Spark操作。对熟悉Hive和HiveQL的人,Spark可以拿来就用。
Spark Streaming:允许对实时数据流进行处理和控制。很多实时数据库(如Apache Store)可以处理实
时数据。Spark Streaming允许程序能够像普通RDD一样处理实时数据。
MLlib:一个常用机器学习算法库,算法被实现为对RDD的Spark操作。这个库包含可扩展的学习算法,
比如分类、回归等需要对大量数据集进行迭代的操作。之前可选的大数据机器学习库Mahout,将会转到Spark,并在未来实现。
GraphX:控制图、并行图操作和计算的一组算法和工具的集合。GraphX扩展了RDD API,包含控制图、创建子图、访问路径上所
有顶点的操作。
由于这些组件满足了很多大数据需求,也满足了很多数据科学任务的算法和计算上的需要,Spark快速流行起来。不仅如此,
Spark也提供了使用Scala、Java和Python编写的API;满足了不同团体的需求,允许更多数据科学家简便地采用Spark作为他们的
大数据解决方案。


http://www.ppmy.cn/news/300996.html

相关文章

【Spark】Spark是什么?能干什么?有什么特点?

一、什么是Spark 官网:http://spark.apache.org Apache Spark™ is a multi-language engine for executing data engineering, data science, and machine learning on single-node machines or clusters. Spark是一种快速、通用、可扩展的大数据分析引擎&#xf…

SharpPcap 开发笔记

原文地址: http://blog.chinaunix.net/u/884/showart_2281574.html 由于项目的需要,要从终端与服务器的通讯数据中获取终端硬件状态,所以用到了广为流传的C#抓包库SharpPcap。 SharpPcap目前最新版本是3.1.0,基于.Net 3.5和WinPc…

Pulsar 各个Shedder分析及新的Shedder -- AvgShedder

看到今年Pulsar 峰会上挺多人分享负载均衡的内容,这里也整理分享一下相关的内容。 社区现有策略的分析 LoadSheddingStrategy pulsar进行shedding的时候,使用的是ThresholdShedder类,ThresholdShedder类是LoadSheddingStrategy接口的其中一…

基于 shapley-value 的可解释方法及 shap 库实现

一. 为什么需要可解释 几点考虑: 若模型完全黑箱, 会有信任风险, 虽然 Performance 不错, 但在医学诊断等严肃领域, 同样要关心诊断依据.人类天生的好奇心, 也想知道不同特征到底作了怎样的贡献.对模型预测的 badcase 作诊断, 增强洞察, 辅助模型与特征的迭代. 模型可解释其…

理解Sharpe夏普比率与Python实现

风险与收益 基金绩效评价标准化指标。 风险的大小在决定组合的表现上具有基础性的作用; 风险调整后的收益率,就是一个可以同时对收益与风险加以考虑的综合指标,以期能够排除风险因素对绩效评估的不利影响。 夏普比率的核心思想 理性的投资者…

模型解释性:SHAP包的使用

本篇博客介绍另一种事后可解释性方法:SHAP(SHapley Additive exPlanation)方法。 1. Shapley值理论 Shapley值是博弈论中的一个概念,通过衡量联盟中各成员对联盟总目标的贡献程度,从而根据贡献程度来进行联盟成员的利益分配,避免…

SHAP解释模型(二)

本文在SHAP解析模型之后,又尝试了一些SHAP新版本的进阶用法,整理并与大家分享. 1 环境配置 以下实验使用当前最新版本shap:0.41.0,同时安装xgboost作为预测模型,并使用较高版本的matplotlib(低…

SharpGL

SharpGL知识:http://download.csdn.net/detail/chs007chs/7299689 可以从如下地址中下载到SharpGL,可用于vs2012.,具体网址:https://github.com/dwmkerr/sharpgl/releases 也可以从csdn中下载到vs2012及vs2010的扩展包 在创建一个…