[序言] Spark 基于内存的基本类型 (primitive)为一些应用程序带来了 100 倍的性能提升.Spark 允许用户程序将数据加载到 集群内存中用于反复查询,非常适用于大数据和机器学习. 目前,Spark 已经超越 Spark 核心,发展到了 Spark streaming.SQL.MLlib. GraphX.SparkR 等模块. Spark 对曾经引爆大数据产业革命的 Hadoop MapReduce 的改进主要体现在这几个方面: 1.Spark 速度更快: 2.Spark 丰富…
Spark 中的RDD 就是一个不可变的分布式对象集合.每个RDD 都被分为多个分区,这些分区运行在集群中的不同节点上.RDD 可以包含Python.Java.Scala中任意类型的对象,甚至可以包含用户自定义的对象. 用户可以使用两种方法创建RDD:读取一个外部数据集,或在驱动器程序里分发驱动器程序中的对象集合(比如list 和set). RDD支持两种类型的操作:转化操作和行动操作.转化操作会由一个RDD 生成一个新的RDD.行动操作会对RDD计算出一个结果,并把结果返回到驱动器程序中,或把…
第2章 Spark分布式执行涉及的组件 每个Spark应用都由一个驱动程序来发起集群上的各种并行操作,驱动程序通过一个SparkContext对象访问Spark:驱动程序管理多个执行器节点,可以用SparkContext来创建RDD. 第3章 RDD(Resilient Distributed Dataset:弹性分布式数据集) RDD特点 Spark中,对数据的所有操作不外乎:创建RDD.转化已有RDD.调用RDD操作进行求值. Spark会自动将RDD中的数据分发到集群上,并将操作并行化执行…
这章讲述了Spark编程中的高级部分,比如累加器和广播等,以及分区和管道...…
由于Spark是在Hadoop家族之上发展出来的,因此底层为了兼容hadoop,支持了多种的数据格式.如S3.HDFS.Cassandra.HBase,有了这些数据的组织形式,数据的来源和存储都可以多样化~…
Common Transformations and Actions   本章中,我们浏览了Spark中大多数常见的transformation(转换)和action(开工).在包含特定数据类型的RDD上可以进行额外的操作,例如,可以对纯数字RDD使用统计函数,对键值对的RDD进行聚合操作.后面的章节我们会介绍这些特别的操作和RDD类型间的转换. Basic RDD (基础RDD)   首先,在忽略数据的影响的前提下,我们将描述所有的RDD上可以执行的transformation和action.…
   本章介绍了Spark用于数据处理的核心抽象概念,具有弹性的分布式数据集(RDD).一个RDD仅仅是一个分布式的元素集合.在Spark中,所有工作都表示为创建新的RDDs.转换现有的RDD,或者调用RDD上的操作来计算结果.在底层,Spark自动将数据中包含的数据分发到你的集群中,并将你对它们执行的操作进行并行化.数据科学家和工程师都应该阅读这一章,因为RDD是Spark的核心概念.我们强烈建议你在这些例子中尝试一些 交互式shell(参见"Spark的Python和Scala shell的…
第一 概论 1.spark的特点 适用多种不同分布式平台的场景,包括批处理,迭代算法,交互式查询,流处理: spark提供了python,scale,java等接口 2.spark的组件 spark的底层组件包括:独立调度器,Hadoop YARN,Apache Mesos spark的内核包括:任务调度,内存管理,错误恢复,RDD spark的顶层包括:spark sql,spark streaming,mlib,graphx 第二 环境搭建 1.说明: spark是用scale语言编写的:运…