随笔分类 - Spark
摘要:Spark使用ZooKeeper进行数据恢复的逻辑过程如下: 1.初始化:创建<CuratorFramwork,LeaderLatch,LeaderLatchListener>用于选举 创建CuratorFramework用于数据恢复。 2.选举:启动LeaderLatch,Curator开始接管选
阅读全文
摘要:对spark functions进行一个逻辑上的分类,分类的标准就是,是否是基于key-value的。 1.基于key-value 1.1 combineByKey为基础的,他们都会进行shuffle操作,比如foldByKey,reduceByKey,groupByKey。 1.2 cogroup
阅读全文
摘要:1.Shuffle Write 和Shuffle Read具体发生在哪里 2.哪里用到了Partitioner 3.何为mapSideCombine 4.何时进行排序 之前已经看过spark shuffle源码了,现在总结一下一些之前没有理解的小知识点,作为一个总结。 用户自定义的Partition
阅读全文
摘要:1.map,flatmap,filter用的是scala的内部实现。 2.cogroup,intersection,join,leftOuterJoin,rightOuterJoin,fullOuterJoin rdd1:[(1,2,3),(2,3,4)] rdd2:[(1,3,5),(2,4,6)
阅读全文
摘要:1.创建一个累加变量 使用SparkContext的如上方法,可以创建一个累加变量。默认情况下,这里的T是int或者double,因此如果想要创建T为long的累加变量是不行的。 2.AccumulatorParam介绍 概念: initialValue:Accumulator的初始值,也就是调用S
阅读全文
摘要:1.将多个文本文件读入一个RDD中 SparkConf conf=new SparkConf() .setMaster("local") .setAppName("save"); JavaSparkContext sc=new JavaSparkContext(conf); JavaRDD<Stri
阅读全文
摘要:先来描述一下问题: 如果你是从基于文本的数据源来创建DataFrame的,当你将DataFrame注册为临时表后,如果对这个临时表进行insert into 操作,会抛出异常的。 问题答案参见:http://apache-spark-user-list.1001560.n3.nabble.com/H
阅读全文
摘要:这个大坑... .... 如题,在Windows的eclipse中编写SparkSQL代码时,编写如下代码时,一运行就抛出一堆空指针异常: // 首先还是创建SparkConf SparkConf conf = new SparkConf() .setMaster("local") .setAppN
阅读全文
摘要:对于任意一个job,逻辑上我将他划分为如下步骤: 创建一个job 提交stage0,stage1,stage2... ...stage n。 问题 1.一个job有多少个stage,每一个stage有多少个rdd。 2.哪些stage运行失败了,这个stage的那些task运行失败了,失败的原因是什
阅读全文
摘要:local 模式部署,不需要配置conf/spark-env.sh就可以运行。但是使用下面这种版本的时候,会出现org.slf4j.logger找不到的提示,这是因为此预编译版本里面没有编译slf4j。使用下面的for hadoop版本就有了。
阅读全文
摘要:在一个application内部,不同线程提交的Job默认按照FIFO顺序来执行,假设线程1先提交了一个job1,线程2后提交了一个job2,那么默认情况下,job2必须等待job1执行完毕后才能执行,如果job1是一个长作业,而job2是一个短作业,那么这对于提交job2的那个线程的用户来说很不友
阅读全文
摘要:要想明白spark application调度机制,需要回答一下几个问题: 1.谁来调度? 2.为谁调度? 3.调度什么? 3.何时调度? 4.调度算法 前四个问题可以用如下一句话里来回答:每当集群资源发生变化时,active master 进程 为 所有已注册的并且没有调度完毕的applicati
阅读全文