import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.Executor; import java.util.concurrent.Executors; import java.util.concurre... ...
分类:
编程语言 时间:
2017-05-07 21:14:42
阅读次数:
188
把接收到的task反序列化用executor的launchTask()方法来启动一个task对每个task都会创建一个taskrunner,taskrunner实现了Java的runnable接口,把taskrunner放入内存缓存把taskrunner线程放进线程池中进行执行,如果线程池内暂时没有空闲的线程,那么丢进来的线程要排队(线程..
分类:
其他好文 时间:
2017-05-06 10:32:28
阅读次数:
101
学一门新鲜的技术,其实过程都是相似的,先学基本的原理和概念,再学怎么使用,最后深究这技术是怎么实现的,所以本章节就带你认识认识spark长什么样的,帅不帅,时髦不时髦(这货的基本概念和原理),接着了解spark有什么必杀技(spark的各种大招),我们如何使用它的必杀技,最后看看spark如何更加高 ...
分类:
其他好文 时间:
2017-05-06 01:01:19
阅读次数:
181
把stage生成的每个task创建一个taskset对象双重for循环,遍历所有taskset,以及每种本地化级别本地化级别有:1.process_local:进程本地化RDD的partition和task进入同一个executor中,速度最快2.node_local:RDD的partition和task不在一个executor上,但是在一个worker上3.NO_P..
分类:
编程语言 时间:
2017-05-05 23:04:50
阅读次数:
178
上一篇讲了Executor接口的设计,目的是将任务的运行和任务的提交解耦。能够隐藏任务的运行策略。这篇说说ExecutorService接口。它扩展了Executor接口,对Executor的生命周期进行管理。并进行了进一步的扩展。 Executor负责执行任务。它的生命周期有3个:执行,关闭和已终 ...
分类:
编程语言 时间:
2017-05-05 21:47:22
阅读次数:
169
本课主题 Broadcast 运行原理图 Broadcast 源码解析 Broadcast 运行原理图 Broadcast 就是将数据从一个节点发送到其他的节点上; 例如 Driver 上有一张表,而 Executor 中的每个并行执行的Task (100万个Task) 都要查询这张表的话,那我们通 ...
分类:
其他好文 时间:
2017-05-05 14:12:57
阅读次数:
236
线程执行器和不使用线程执行器的对比(优缺点) 1.线程执行器分离了任务的创建和执行,通过使用执行器,只需要实现Runnable接口的对象,然后把这些对象发送给执行器即可。 2.使用线程池来提高程序的性能。当发送一个任务给执行器时,执行器会尝试使用线程池中的线程来执行这个任务。避免了不断创建和销毁线程 ...
分类:
编程语言 时间:
2017-05-04 21:43:31
阅读次数:
387
1. 前言在博客里介绍了ShuffleWrite关于shuffleMapTask如何运行,输出Shuffle结果到文件Shuffle_shuffleId_mapId_reduceId.data文件中,...
分类:
其他好文 时间:
2017-05-03 21:17:29
阅读次数:
1229
在使用SSH框架开发过程,使用hibernate框架提供的工具类实现与数据库数据交互,在执行cmd操作时,如果出现以下异常: org.hibernate.hql.ast.QuerySyntaxException: xxx is not mapped [from xxx] 或者 nested exce ...
分类:
移动开发 时间:
2017-05-02 22:08:50
阅读次数:
571
java创建线程有3种方式: (1)继承Thread(2)实现Runnable接口(3)实现Callable接口 1、继承Thead 2、实现Runnable接口 3、实现Callable接口 由于Java只支持单继承,所以用继承的方式创建线程,比较死板,不够灵活;用实现接口的方式创建线程,可以实现 ...
分类:
编程语言 时间:
2017-05-02 10:16:20
阅读次数:
219