Spark 学习笔记

Spark基础及基本概念

1.Spark是什么?
a)集群计算
b)扩展了MapReduce
c)内存计算
2.Spark 组件
a)Spark Core
b)Spark SQL
c)Spark Streaming
d)MLlib(分类,回归,聚类,协同过滤)
e)GraphX 并行图计算
f)YARN
g)Mesos
3.Spark 核心概念
a)驱动器程序
b)RDD
c)SparkContext
d)Maven和sbt打包
RDD编程

1.RDD resilient distributed dataset弹性分布式数据集
2.创建RDD的两种方式
a)读取外部数据集
i.如:lines=sc.textFile(“README.md”);
b)在驱动器程序中对一个集合并行化
i.如:lines=sc.parallelize(List(“pandas”,”I like pandas”))
3.Spark 工作方式
a)从外部数据创建输入 RDD
a)使用如filter()之类的转化RDD,定义新的RDD
b)对需要重复使用的RDD执行persist()操作,持久化到内存中
c)执行动作方法触发并行计算,Spark 会在对计算优化后执行
4.Rdd操作
a)转化
i.XXXRDD.Map(x=x*x)
ii.XXXRDD.filter(line=>line.contains(“error”))
iii.XXXRDD.union(VVVRDD)
iv.flatMap
v.Distinct
vi.Intersection
vii.Subtract
viii.cartesian
ix.Collect
b)行动
i.Count
ii.Take
iii.saveAsTextFile()
iv.Reduce
v.Fold
vi.Aggregate()
vii.Collect
viii.Top
ix.takeSample
x.foreach
c)持久化persist()
键值对操作
1.转化方法
a)普通RDD通过map()方法转化为pairRDD
2.转化操作
a)针对单个pairRDD的转化操作
i.reduceByKey(func)
ii.groupByKey()
iii.combineBy
iv.。。。。
b)针对两个pairRDD的转化操作
i.subtractByKey
ii.Join
iii.。。。
3.聚合操作

猜你喜欢

转载自xiangkuifu-163-com.iteye.com/blog/2378599