basic spark or spark essentials(notes)

  • parallelized,lazily transform,cache(),actions
  • 算子

算子是RDD中定义的函数,可以对RDD中的数据进行转换和操作。数据转化为Spark中的数据块,通过BlockManager进行管理。

  1. Transformation:

    1. value类:不触发提交作业,处理Value型数据
    2. Key-Value:不触发提交作业,处理(k,v)型数据
  2. Action: 触发SparkContext提交Job作业
  • KEY-VALUE

reduceByKey(func)=>(k,v) 对key一样的piar的value进行lambda

sortByKey()

groupByKey()

  • Use Case

1  大量var的单一或迭代job  只读table的lookup;ML里的vector计算

2  job执行时有count事件

  1. broadcast var
  2. accumulators
    1. 只能被关联op加运算,提高parallel counters and sums,只有driver可读,task不能。
    2. 在action中每个task只能更新一次accm,而transformation中则不一定。transformation可能需要运行多次如果一个node很慢或失败。=>accum在transformation中只能用于debug
    3. def f(x): {global accum;accum+=x}  rdd.foreach(f)

只读var(a large dataset) cached on workers,无论多少tasks只ship给worker一次-using efficient broadcast algorithm

driver:   sc.broadcast([1,2,3])

worker:     broadcasVar.value
  • example for broadcast var--contact中的所属国家统计

1建一个表2求(k,v)的function3将此function放入map中

4spark自动创建一个closure包含这个function以及1所建立的表,一起发送给worker

计算第二个的时候,4将被spark重复

=>broadcast to all workers ,使4不用重复

  • example for accumulators--空行count

1开始设置accum为0 2func:空行则accum+1 否则返回line.split(" ")

3将func为参用flatMap file.flatMap(func) 对每一行func,返回一seq为line以" "分割的每个word

  • groupByKey  join  groupWith
  • saveAsTextFile saveAsSequenceFile
时间: 2024-10-13 10:38:31

basic spark or spark essentials(notes)的相关文章

【转】科普Spark,Spark是什么,如何使用Spark

本博文是转自如下链接,为了方便自己查阅学习和他人交流.感谢原博主的提供! http://www.aboutyun.com/thread-6849-1-1.html http://www.aboutyun.com/thread-6850-1-1.html 科普Spark,Spark核心是什么,如何使用Spark(1) 阅读本文章可以带着下面问题: 1.Spark基于什么算法的分布式计算(很简单) 2.Spark与MapReduce不同在什么地方 3.Spark为什么比Hadoop灵活 4.Spar

Spark记录-Spark性能优化解决方案

Spark性能优化的10大问题及其解决方案 问题1:reduce task数目不合适解决方式:需根据实际情况调节默认配置,调整方式是修改参数spark.default.parallelism.通常,reduce数目设置为core数目的2到3倍.数量太大,造成很多小任务,增加启动任务的开销:数目太少,任务运行缓慢. 问题2:shuffle磁盘IO时间长解决方式:设置spark.local.dir为多个磁盘,并设置磁盘为IO速度快的磁盘,通过增加IO来优化shuffle性能: 问题3:map|red

Spark 以及 spark streaming 核心原理及实践

导语 spark 已经成为广告.报表以及推荐系统等大数据计算场景中首选系统,因效率高,易用以及通用性越来越得到大家的青睐,我自己最近半年在接触spark以及spark streaming之后,对spark技术的使用有一些自己的经验积累以及心得体会,在此分享给大家. 本文依次从spark生态,原理,基本概念,spark streaming原理及实践,还有spark调优以及环境搭建等方面进行介绍,希望对大家有所帮助. spark 生态及运行原理 Spark 特点 运行速度快 => Spark拥有DA

大数据技术之_27_电商平台数据分析项目_02_预备知识 + Scala + Spark Core + Spark SQL + Spark Streaming + Java 对象池

第0章 预备知识0.1 Scala0.1.1 Scala 操作符0.1.2 拉链操作0.2 Spark Core0.2.1 Spark RDD 持久化0.2.2 Spark 共享变量0.3 Spark SQL0.3.1 RDD.DataFrame 与 DataSet0.3.2 DataSet 与 RDD 互操作0.3.3 RDD.DataFrame 与 DataSet 之间的转换0.3.4 用户自定义聚合函数(UDAF)0.3.5 开窗函数0.4 Spark Streaming0.4.1 Dst

spark wordcont Spark: sortBy和sortByKey函数详解

val res = sc.textFile("D:\\test\\spark\\urlCount").flatMap(_.split("\\s")) .map((_,1)).reduceByKey(_+_).map(t=>(t._2,t._1)).sortByKey().top(10) 在很多应用场景都需要对结果数据进行排序,Spark中有时也不例外.在Spark中存在两种对RDD进行排序的函数,分别是 sortBy和sortByKey函数.sortBy是对标

Spark 学习: spark 原理简述与 shuffle 过程介绍

Spark学习: 简述总结 Spark 是使用 scala 实现的基于内存计算的大数据开源集群计算环境.提供了 java,scala, python,R 等语言的调用接口. Spark学习 简述总结 引言 1 Hadoop 和 Spark 的关系 Spark 系统架构 1 spark 运行原理 RDD 初识 shuffle 和 stage 性能优化 1 缓存机制和 cache 的意义 2 shuffle 的优化 3 资源参数调优 4 小结 本地搭建 Spark 开发环境 1 Spark-Scal

Spark&Spark性能调优实战

Spark特别适用于多次操作特定的数据,分mem-only和mem & disk.当中mem-only:效率高,但占用大量的内存,成本非常高;mem & disk:内存用完后,会自己主动向磁盘迁移,攻克了内存不足的问题,却带来了数据的置换的消费.Spark常见的调优工具有nman.Jmeter和Jprofile,下面是Spark调优的一个实例分析: 1.场景:精确客户群 对一个容量为300g的客户信息表在spark上进行查询优化,该大宽表有1800多列.有效使用的有20列. 2.优化达到的

spark视频-Spark SQL架构和案例深入实战

Spark亚太研究院决胜大数据时代公益大讲坛第五期:Spark SQL架构和案例深入实战,视频地址:http://pan.baidu.com/share/link?shareid=3629554384&uk=4013289088&fid=977951266414309 王家林老师(邮箱:[email protected] QQ: 1740415547) Spark亚太研究院院长和首席专家,中国目前唯一的移动互联网和云计算大数据集大成者. 在Spark.Hadoop.Android等方面有丰

Spark修炼之道(进阶篇)——Spark入门到精通:第十三节 Spark Streaming—— Spark SQL、DataFrame与Spark Streaming

主要内容 Spark SQL.DataFrame与Spark Streaming 1. Spark SQL.DataFrame与Spark Streaming 源码直接参照:https://github.com/apache/spark/blob/master/examples/src/main/scala/org/apache/spark/examples/streaming/SqlNetworkWordCount.scala import org.apache.spark.SparkConf