RDD编程之持久化-缓存与容错机制Checkpoint
RDD持久化/缓存
涉及到的算子:persist、cache、unpersist;都是 Transformation
缓存是将计算结果写入不同的介质,用户定义可定义存储级别(存储级别定义了缓存存储的介质,目前支持内存、堆外内存、磁盘);
通过缓存,Spark避免了RDD上的重复计算,能够极大地提升计算速度;
RDD持久化或缓存,是Spark最重要的特征之一。可以说,缓存是Spark构建迭代式算法和快速交互式查询的关键因素;
Spark速度非常快的原因之一,就是在内存中持久化(或缓存)一个数据集。当持久化一个RDD后,每一个节点都将把计算的分片结果保存在内存中,并在对此数据集(或者衍生出的数据集 ...
RDD编程之序列化与依赖关系
序列化
在实际开发中会自定义一些对RDD的操作,此时需要注意的是:
初始化工作是在Driver端进行的
实际运行程序是在Executor端进行的
这就涉及到了进程通信,是需要序列化的。
可以简单的认为SparkContext代表Driver。
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950package cn.lagou.sparkcoreimport org.apache.spark.{SparkConf, SparkContext ...
RDD算子综合应用案例
idea创建maven项目,添加scala项目框架,创建scala源文件夹,pom文件添加依赖
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192<dependencies> <dependency> <groupId>org.scal ...
RDD编程之Key-Value操作与输入与输出
Key-Value RDD操作
RDD整体上分为 Value 类型和 Key-Value 类型。
前面介绍的是 Value 类型的RDD的操作,实际使用更多的是 key-value 类型的RDD,也称为 PairRDD。
Value 类型RDD的操作基本集中在 RDD.scala 中;
key-value 类型的RDD操作集中在 PairRDDFunctions.scala 中;
前面介绍的大多数算子对 Pair RDD 都是有效的。Pair RDD还有属于自己的Transformation、Action 算子;
创建Pair RDD
123456789101112131415 ...
RDD编程之基本使用
RDD的创建
SparkContext
SparkContext是编写Spark程序用到的第一个类,是Spark的主要入口点,它负责和整个集群的交互;
如果把Spark集群当作服务端,那么Driver就是客户端,SparkContext 是客户端的核心;
SparkContext是Spark的对外接口,负责向调用者提供 Spark 的各种功能;
SparkContext用于连接Spark集群、创建RDD、累加器、广播变量;
在 spark-shell 中 SparkContext 已经创建好了,可直接使用;
编写Spark Driver程序第一件事就是:创建SparkContext ...
RDD编程之基本概念
什么是RDD
RDD是 Spark 的基石,是实现 Spark 数据处理的核心抽象。
RDD 是一个抽象类,它代表一个不可变、可分区、里面的元素可并行计算的集合。
RDD(Resilient Distributed Dataset)是 Spark 中的核心概念,它是一个容错、可以并行执行的分布式数据集。
RDD包含5个特征:
一个分区的列表
一个计算函数compute,对每个分区进行计算
对其他RDDs的依赖(宽依赖、窄依赖)列表
对key-value RDDs来说,存在一个分区器(Partitioner)【可选的】
对每个分区有一个优先位置的列表【可选的】
一组分 ...
Spark开发环境搭建IDEA
前提:安装scala插件;能读写HDFS文件
创建maven项目,修改java目录为scala,添加项目框架scala
pom.xml添加依赖
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101<properties> < ...
Spark安装集群模式
集群模式–Standalone模式
参考:http://spark.apache.org/docs/latest/spark-standalone.html
分布式部署才能真正体现分布式计算的价值
与单机运行的模式不同,这里必须先启动Spark的Master和Worker守护进程;关闭 yarn 对应的服务
不用启动Hadoop服务,除非要使用HDFS的服务
使用jps检查,可以发现:
linux121:Master、Worker
linux122:Worker
linux123:Worker
使用浏览器查看(linux121:8080)
Stand ...
Spark安装配置
Spark安装
官网地址:http://spark.apache.org/
文档地址:http://spark.apache.org/docs/latest/
下载地址:http://spark.apache.org/downloads.html
下载Spark安装包
下载地址:https://archive.apache.org/dist/spark/
备注:不用安装scala
1、下载软件解压缩,移动到指定位置
123[root@Linux121 ~]# cd /opt/lagou/software/[root@Linux121 software]# tar zxvf spark-2. ...
Spark概述
什么是Spark
Spark是当今大数据领域最活跃、最热门、最高效的大数据通用计算引擎。
Spark 成功构建起了一体化、多元化的大数据处理体系。在任何规模的数据计算中,Spark 在性能和扩展性上都更具优势。
Spark 是一个快速、通用的计算引擎。Spark的特点:
速度快。与 MapReduce 相比,Spark基于内存的运算要快100倍以上,基于硬盘的运算也要快10倍以上。Spark实现了高效的DAG执行引擎,可以通过基于内存来高效处理数据流;
使用简单。Spark支持 Scala、Java、Python、R的API,还支持超过80种高级算法,使用户可以 ...