Spark入门(Python版)
来源:互联网 发布:折弯机编程值怎么设置 编辑:程序博客网 时间:2024/04/29 12:19
http://blog.jobbole.com/86232/
Spark是什么?
既然设置好了Spark,现在我们讨论下Spark是什么。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作为他们的大数据解决方案。
- Spark入门(Python版)
- Spark入门(Python版)
- Spark入门(Python版)
- Spark入门(Python版)
- Spark入门(Python版)
- python版hadoop和spark入门
- Spark (Python版) 零基础学习笔记(一)—— 快速入门
- [大数据]spark入门 in python(一)HelloWorld
- spark入门(1)
- Spark机器学习笔记1--Spark Python编程入门
- 译:Getting Started with Spark (in Python) Spark入门
- Spark编程指南(python版)
- Spark编程指南(python版)
- spark处理mongodb数据(python版)
- Spark (Python版) 学习笔记(一)
- Spark (Python版) 学习笔记(二)
- spark sql 模板 (python版)
- [Spark]Spark与Anaconda配置(Python)
- 【创业之路】:林锐博士谈创业
- Java 学习记录之二
- Linux线程同步之读写锁
- 开发板镜像烧写
- transformClassesWithJarMergingForDebug
- Spark入门(Python版)
- fork()函数解析
- Jenkins配置
- Understanding Weak References Blog
- EJB概述
- java中的final 关键字
- source insight 函数跟踪不了问题
- 二维数组
- iOS控件之UIAlertView