《循序渐进学Spark》一2.2 Spark程序模型

2.2 Spark程序模型

下面给出一个经典的统计日志中ERROR的例子,以便读者直观理解Spark程序模型。

1)SparkContext中的textFile函数从存储系统(如HDFS)中读取日志文件,生成file变量。

scala> var
file = sc.textFile("hdfs://...")

2)统计日志文件中,所有含ERROR的行。

scala> var
errors = file.filer(line=>line.contains("ERROR"))

3)返回包含ERROR的行数。

errors.count()

RDD的操作与Scala集合非常类似,这是Spark努力追求的目标:像编写单机程序一样编写分布式应用。但二者的数据和运行模型却有很大不同,如图2-3所示。

在图2-3中,每一次对RDD的操作都造成了RDD的变换。其中RDD的每个逻辑分区Partition都对应Block Manager(物理存储管理器)中的物理数据块Block(保存在内存或硬盘上)。前文已强调,RDD是应用程序中核心的元数据结构,其中保存了逻辑分区与物理数据块之间的映射关系,以及父辈RDD的依赖转换关系。

时间: 2024-09-13 19:43:19

《循序渐进学Spark》一2.2 Spark程序模型的相关文章

《循序渐进学Spark 》Spark 编程模型

本节书摘来自华章出版社<循序渐进学Spark >一书中的第1章,第3节,作者 小象学院 杨 磊,更多章节内容可以访问"华章计算机"公众号查看. Spark机制原理 本书前面几章分别介绍了Spark的生态系统.Spark运行模式及Spark的核心概念RDD和基本算子操作等重要基础知识.本章重点讲解Spark的主要机制原理,因为这是Spark程序得以高效执行的核心.本章先从Application.job.stage和task等层次阐述Spark的调度逻辑,并且介绍FIFO.FA

《循序渐进学Spark》一第2章

 本节书摘来自华章出版社<循序渐进学Spark>一书中的第2章,第2.1节,作者 小象学院 杨 磊,更多章节内容可以访问"华章计算机"公众号查看. 第2章 Spark 编程模型 与Hadoop相比,Spark最初为提升性能而诞生.Spark是Hadoop MapReduce的演化和改进,并兼容了一些数据库的基本思想,可以说,Spark一开始就站在Hadoop与数据库这两个巨人的肩膀上.同时,Spark依靠Scala强大的函数式编程Actor通信模式.闭包.容器.泛型,并借助

《循序渐进学Spark》一2.3 Spark算子

 本节书摘来自华章出版社<循序渐进学Spark>一书中的第2章,第2.3节,作者 小象学院 杨 磊,更多章节内容可以访问"华章计算机"公众号查看. 2.3 Spark算子 本节介绍Spark算子的分类及其功能. 2.3.1 算子简介 Spark应用程序的本质,无非是把需要处理的数据转换为RDD,然后将RDD通过一系列变换(transformation)和操作(action)得到结果,简单来说,这些变换和操作即为算子. Spark支持的主要算子如图2-4所示. 根据所处理的数

《循序渐进学Spark》一第3章

第3章 Spark机制原理 本书前面几章分别介绍了Spark的生态系统.Spark运行模式及Spark的核心概念RDD和基本算子操作等重要基础知识.本章重点讲解Spark的主要机制原理,因为这是Spark程序得以高效执行的核心.本章先从Application.job.stage和task等层次阐述Spark的调度逻辑,并且介绍FIFO.FAIR等经典算法,然后对Spark的重要组成模块:I/O与通信控制模块.容错模块及Shuffle模块做了深入的阐述.其中,在Spark I/O模块中,数据以数据

《循序渐进学Spark》一导读

Preface 前 言 Spark诞生于美国加州大学伯克利分校AMP实验室.随着大数据技术在互联网.金融等领域的突破式进展,Spark在近些年得到更为广泛的应用.这是一个核心贡献者超过一半为华人的大数据平台开源项目,且正处于飞速发展.快速成熟的阶段. 为什么写这本书 Spark已经成为大数据计算.分析领域新的热点和发展方向.相对于Hadoop传统的MapReduce计算模型,Spark提供更为高效的计算框架以及更为丰富的功能,因此在大数据生产应用领域中不断攻城略地,势如破竹. 与企业不断涌现的对

《循序渐进学Spark 》Spark架构与集群环境

Spark架构与集群环境 本章首先介绍Spark大数据处理框架的基本概念,然后介绍Spark生态系统的主要组成部分,包括Spark SQL.Spark Streaming.MLlib和GraphX,接着简要描述了Spark的架构,便于读者认识和把握,最后描述了Spark集群环境搭建及Spark开发环境的构建方法. 1.1 Spark概述与架构 随着互联网规模的爆发式增长,不断增加的数据量要求应用程序能够延伸到更大的集群中去计算.与单台机器计算不同,集群计算引发了几个关键问题,如集群计算资源的共享

《循序渐进学Spark 》导读

目 录 前 言 第1章 Spark架构与集群环境    1.1 Spark概述与架构     1.1.1 Spark概述     1.1.2 Spark生态     1.1.3 Spark架构     1.2 在Linux集群上部署Spark     1.2.1 安装OpenJDK     1.2.2 安装Scala     1.2.3 配置SSH免密码登录     1.2.4 Hadoop的安装配置     1.2.5 Spark的安装部署     1.2.6 Hadoop与Spark的集群复

《循序渐进学Spark》一第1章

第1章 Spark架构与集群环境 本章首先介绍Spark大数据处理框架的基本概念,然后介绍Spark生态系统的主要组成部分,包括Spark SQL.Spark Streaming.MLlib和GraphX,接着简要描述了Spark的架构,便于读者认识和把握,最后描述了Spark集群环境搭建及Spark开发环境的构建方法. 1.1 Spark概述与架构 随着互联网规模的爆发式增长,不断增加的数据量要求应用程序能够延伸到更大的集群中去计算.与单台机器计算不同,集群计算引发了几个关键问题,如集群计算资

《Spark大数据处理:技术、应用与性能优化》——第3章 Spark计算模型3.1 Spark程序模型

第3章 Spark计算模型 创新都是站在巨人的肩膀上产生的,在大数据领域也不例外.微软的Dryad使用DAG执行模式.子任务自由组合的范型.该范型虽稍显复杂,但较为灵活.Pig也针对大关系表的处理提出了很多有创意的处理方式,如flatten.cogroup.经典虽难以突破,但作为后继者的Spark借鉴经典范式并进行创新.经过实践检验,Spark的编程范型在处理大数据时显得简单有效.的数据处理与传输模式也大获全胜.Spark站在巨人的肩膀上,依靠Scala强有力的函数式编程.Actor通信模式.闭