
Spark2.x学习笔记
一步一步详细记录Spark2.x学习过程
程裕强
开源是人类最大的公益事业!--程裕强
展开
-
Spark2.x学习笔记:18、Spark Streaming程序解读
Spark2.x学习笔记:18、Spark Streaming程序解读18.1 Spark Streaming原理Spark Streaming将流式计算转化为一批批很小的、确定的批处理作业(micro-batch)。以数秒为单位将数据流切分成离散的作业。每批数据看做RDD,可以使用RDD相关操作进行处理。最后结果以RDD为单位返回(写入HDFS或其他系统)。18.2 DStreamDStream是原创 2017-11-07 23:35:25 · 883 阅读 · 0 评论 -
Spark2.x学习笔记:17、Spark Streaming之HdfsWordCount 学习
Spark2.x学习笔记:17、Spark Streaming之HdfsWordCount 学习17.1 HdfsWordCount 源码解析// scalastyle:off printlnpackage org.apache.spark.examples.streamingimport org.apache.spark.SparkConfimport org.apache.spark.str原创 2017-11-04 21:30:17 · 909 阅读 · 0 评论 -
Spark2.x学习笔记:16、Spark Streaming入门实例NetworkWordCount
第16章 Spark Streaming入门实例NetworkWordCount16.1 源码解析在Spark源码的spark-2.1.0-bin-hadoop2.7\examples\src\main\scala\org\apache\spark\examples\streaming目录下即可找到NetworkWordCount.scala源文件。/* * Licensed to the Apa原创 2017-11-01 21:58:55 · 935 阅读 · 0 评论 -
Spark2.x学习笔记:15、Spark SQL的SQL
第15章 Spark SQL的SQL15.1 Spark SQL所支持的SQL语法select [distinct] [column names]|[wildcard]from tableName[join clause tableName on join condition][where condition][group by column name][having conditions原创 2017-10-27 10:45:09 · 1670 阅读 · 0 评论 -
Spark2.x学习笔记:14、Spark SQL程序设计
Spark2.x学习笔记:第14章 Spark SQL程序设计14.1 DataFrameDataFrame=RDD+Schema 在Spark1.3之前,DataFrame被称为SchemaRDD。以行为单位构成的分布式数据集合,按照列赋予不同的名称。对select、fileter、aggregation和sort等操作符的抽象。14.2 RDD、DataFrame以及Dataset关系(1)D原创 2017-10-21 21:58:13 · 3168 阅读 · 4 评论 -
Spark2.x学习笔记:13、Spark SQL快速入门
第13章 Spark SQL快速入门13.1 本地表(1)准备数据[root@node1 ~]# mkdir /tmp/data[root@node1 ~]# cat data/ml-1m/users.dat |tr -s "::" "," >> /tmp/data/users.dat[root@node1 ~]# tail -5 /tmp/data/users.dat 6036,F,25,1原创 2017-10-12 22:16:59 · 1683 阅读 · 0 评论 -
Spark2.x学习笔记:12、Shuffle机制
第12章 Shuffle机制12.1 背景在MapReduce计算框架中,shuffle是连接Map和Reduce之间的桥梁。Map的输出要用到Reduce中必须经过shuffle这个环节,shuffle的性能高低直接影响了整个程序的性能和吞吐量。Shuffle的本义是洗牌、混洗,把一组有一定规则的数据尽量转换成一组无规则的数据,越随机越好。MapReduce中的Shuffle更像是洗牌的逆过程,把原创 2017-10-07 19:33:03 · 2100 阅读 · 0 评论 -
Spark2.x学习笔记:11、RDD依赖关系与stage划分
第11章 RDD依赖关系与stage划分Spark中RDD的高效与DAG图有着莫大的关系,在DAG调度中需要对计算过程划分stage,而划分依据就是RDD之间的依赖关系。11.1 窄依赖与宽依赖针对不同的转换函数,RDD之间的依赖关系分类窄依赖(narrow dependency)和宽依赖(wide dependency, 也称 shuffle dependency)。(1)窄依赖 窄依赖是指1个原创 2017-10-07 16:28:50 · 2720 阅读 · 0 评论 -
Spark2.x学习笔记:10、简易电影受众系统
第10章 简易电影受众系统本章内容,源码参考了https://github.com/XichengDong/simplespark10.1 数据准备(1)下载数据 https://grouplens.org/datasets/movielens/ https://grouplens.org/datasets/movielens/1m/ 单击ml-1m.zip链接即可下载 (2)上传到HD原创 2017-09-24 17:29:30 · 2201 阅读 · 0 评论 -
Spark2.x学习笔记:9、 Spark编程实例
第9章 Spark编程实例9.1 SparkPipackage cn.hadronimport org.apache.spark.SparkConfimport org.apache.spark.SparkContextimport scala.math.randomobject SparkPi { def main(args: Array[String]): Unit = {原创 2017-09-20 22:29:52 · 1841 阅读 · 0 评论 -
Spark2.x学习笔记:8、 Spark应用程打包与提交
第8章 Spark应用程打包与提交8.1 应用程序打包(1)Maven打包 进入Maven项目根目录(比如前一章创建的simpleSpark项目,进入simpleSpark项目根目录可以看到1个pom.xml文件),执行mvn package命令进行自动化打包。 Maven根据pom文件里packaging的配置,决定是生成jar文件还是war文件,并放到target目录下。 这时Mave原创 2017-09-16 22:32:36 · 3114 阅读 · 0 评论 -
Spark2.x学习笔记:7、Spark应用程序设计
第7章 Spark应用程序设计7.1 基本流程1.创建SparkContext对象每个Spark应用程序有且仅有一个SparkContext对象,封装了Spark执行环境信息2.创建RDD可以冲Scala集合或者Hadoop数据集上创建3.在RDD之上进行转换和ActionMapReduce只提供了map和reduce两种操作,而Spark提供了多种转换和action函数4.返回结果保存到H原创 2017-09-12 15:06:21 · 1543 阅读 · 0 评论 -
Spark2.x学习笔记:6、在Windows平台下搭建Spark开发环境(Intellij IDEA)
第6章 在Windows平台下搭建Spark开发环境(Intellij IDEA+Maven)6.1 集成开发环境IDE为了方便应用程序开发与测试,提高开发效率,一般使用集成开发工具IDE。同样,为了方便Spark应用程序编写和测试,可以选择集成开发工具Intellij IDEA或Eclipse。由于Intellij IDEA对Scala更好的支持,大多Spark开发团队选择了Intellij ID原创 2017-09-10 21:15:45 · 10028 阅读 · 6 评论 -
Spark2.x学习笔记:5、Spark On YARN模式
Spark学习笔记:5、Spark On YARN模式有些关于Spark on YARN部署的博客,实际上介绍的是Spark的 standalone运行模式。如果启动Spark的master和worker服务,这是Spark的 standalone运行模式,不是Spark on YARN运行模式,请不要混淆。Spark在生产环境中,主要部署在Hadoop集群中,以Spark On YA...原创 2017-09-06 11:21:11 · 22944 阅读 · 4 评论 -
Spark2.x学习笔记:4、Spark程序架构与运行模式
第4章 Spark程序架构与运行模式4.1 Spark程序最简架构所有的Spark程序运行时,主要由两大类组件Driver和Excutor构成。每个Spark程序运行时都有一个Driver,Driver是进程包含了运行所需要的CPU和内存等资源,Driver是我们应用程序main函数所在进程。比如当我们运行一个spark-shell时,就创建了一个driver 程序 。Executor可以有多个原创 2017-09-05 22:29:00 · 2167 阅读 · 0 评论 -
Spark2.x学习笔记:3、 Spark核心概念RDD
Spark学习笔记:第3章 Spark核心概念RDD3.1 RDD概念弹性分布式数据集(Resilient Distributed Datasets,RDD) ,可以分三个层次来理解:数据集:故名思议,RDD 是数据集合的抽象,是复杂物理介质上存在数据的一种逻辑视图。从外部来看,RDD 的确可以被看待成经过封装,带扩展特性(如容错性)的数据集合。分布式:RDD的数据可能在物理上存储在多个节点的磁原创 2017-08-30 16:01:59 · 3210 阅读 · 0 评论 -
Spark2.x学习笔记:2、Scala简单例子
Spark学习笔记2:Spark2.2伪分布式模式2.1 安装JDK8在前一节http://blog.youkuaiyun.com/chengyuqiang/article/details/77671748我们已经安装了JDK8,这里不再累述。2.2 安装Scala(1)获取下载地址 通过Spark官网下载页面http://spark.apache.org/downloads.html 可知“Note: S原创 2017-08-29 15:15:08 · 4162 阅读 · 0 评论 -
Spark2.x学习笔记:1、Spark2.2快速入门(本地模式)
Spark学习笔记1:Spark2.2快速入门1.1 Spark本地模式学习Spark,先易后难,先从最简单的本地模式学起。本地模式(local),常用于本地开发测试,解压缩Spark软件包就可以用,也就是所谓的“开封即用”1.2 安装JDK8(1)下载 登录Oracle官网http://www.oracle.com/technetwork/java/javase/downloads/jdk8-d原创 2017-08-29 10:28:15 · 7433 阅读 · 0 评论