BlockheadLS的博客

多看书,多请教,勤思考,勤记录。

排序:
默认
按更新时间
按访问量

spark on yarn作业运行的jar包缓存优化

原文地址参考自下文这几天一直在追查spark on yarn的作业运行中的jar包分发,以及执行后的jar包删除的问题。从一开始的毫无头绪,到后来逐渐清晰,到后来通过hadoop的两个很简单的参数配置解决了问题。不得不说,虽然问题不大,对某些大牛们来说也真是小case,但是追查问题,定位问题到最终...

2016-12-12 16:13:45

阅读数:443

评论数:0

Spark的任务调度学习

背景Spark的调度依次是Application调度、Job调度、Stage调度和Task调度,其中在Spark On Yarn下,Application调度是ResourceManager的工作,Application级别资源的调度是Yarn来分配的,这在《Spark下Yarn-Cluster和...

2016-12-07 01:27:05

阅读数:569

评论数:0

Spark下Yarn-Cluster和Yarn-Client的区别

0 首先注意的概念ResourceManager:是集群所有应用程序的资源管理器,能够管理集群的计算资源并为每个Application分配,它是一个纯粹的调度器。 NodeManager:是每一台slave机器的代理,执行应用程序,并监控应用程序的资源使用情况。 Application Mas...

2016-11-25 01:51:16

阅读数:5232

评论数:2

Spark编程指南--官方翻译

说明这是对Spark2.0.1的Spark Programming Guide的翻译,翻译它是想让自己静心看下去,英语水平也不高,所以有的地方难免出错,另外,翻译中的某些地方加入了自己的理解,可能就多添了一句,以便于理解。综述在一个高层次来说,每一个Spark应用程序都会包含driver程序(运行...

2016-10-24 15:10:04

阅读数:1023

评论数:2

Learning Spark 笔记(七) -- 受益于分区的操作

10 . 单元操作是怎样受益的?以reduceByKey为例子,reduceByKey是在本地归约后再发送到一个主机上再进行归约。如果父RDD是有分区信息的,那么就可能只会在本地归约了,而不会再跨网络发送到其它主机上。二元操作是怎样受益于分区的?比如join(),至少会有一个RDD不会被shuff...

2016-08-30 17:24:12

阅读数:330

评论数:0

Learning Spark 笔记(六) -- 指定分区信息改善join()等的操作

9 . 默认情况下,join()操作会对两个RDD的主键做哈希以分区,通过网络将主键相同的元素发送到同一台机器上,然后根据相同的主键再进行连接。例子如下:val sc = new SparkContext() val userData = sc.sequenceFile[UserID,LinkIn...

2016-08-30 08:40:35

阅读数:1134

评论数:0

Learning Spark 笔记(五) -- coalesce、repartition

8 . 在Spark中,有两种方法可以重设RDD的分区,coalesce和repartition。先看一下coalesce和repartition的定义:def coalesce(numPartitions: Int, shuffle: Boolean = false){...} def repa...

2016-08-30 00:08:45

阅读数:548

评论数:0

Learning Spark 笔记(四) -- reduceByKey、combineByKey

6 . reduceByKey运行多个reduce操作,每个key对应一个reduce操作,只不过reduce返回的是结果,reduceByKey返回的是一个新的RDD。 7 . Spark有很多根据键来合并数据的操作,其中大部分都是用combineByKey来实现的。下面是一个利用combin...

2016-08-29 17:37:07

阅读数:763

评论数:0

Learning Spark 笔记(三) -- take和persist

4 . take(n)试图最小化访问分区,此操作并不一定以期待的顺序返回数据。 5 . 当持久化一个RDD的时候,计算这个RDD的节点会保存它们的分区。如果缓存了数据的节点出错了,Spark会在需要的时候重新计算丢失的分区。只有遇到action的时候才会真正的执行持久化操作。默认的持久化操...

2016-08-29 00:58:18

阅读数:774

评论数:0

Learning Spark 笔记(二) -- aggregate初值初探

fold和aggregate都需要初值,且每个初值应用到每个分区。例子如下: val input = sc.parallelize(List(1,2,3,4,5,6),3) val result = input.aggregate((0, 0))( ...

2016-08-28 17:43:30

阅读数:413

评论数:0

Learning Spark 笔记(一) -- Lazy优势和transformation传参

lazy valuation的优势。它是为大数据而生的,目标是减少迭代次数,节约时间和空间。比如下面的这一段代码 val text = sc.textFile(“…”) val python_lines = text.filter(x=>x.contains(“python”)) py...

2016-08-28 11:17:53

阅读数:822

评论数:0

Spark的flatMap和Map的区别

背景: 在学习spark的时候,有一个开篇的例子中有两句代码如下所示: val input = sc.textFile(inputFile)  val words = input.flatMap(line=>line.split(" "))      上面两句的意...

2015-11-08 18:15:39

阅读数:1473

评论数:0

Ubuntu 14 下Spark 1.4.1 安装到eclipse 3.8

一、安装Scala插件 打开eclipse,依次选择Help->Install New Software,点击Add按钮,如图所示,其中添加的路径为:http://download.scala-ide.org/sdk/e38/scala29/stable/site,然后点击ok,稍等一下便可...

2015-11-07 21:45:28

阅读数:393

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭