自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

海盗的小菜园

专注云计算、大数据运维领域

  • 博客(6)
  • 资源 (11)
  • 收藏
  • 关注

原创 spark shuffle过程分析

shuffle是作业执行过程中的一个重要阶段,对作业性能有很大影响,不管是对hadoop还是spark,shuffle都是一个核心环节,spark的shuffle和hadoop的shuffle的原理大致相同,shuffle发生在ShuffleMapTask中,在一个task处理partition数据时,需要对外输出作为下个stage的数据源,这个输出可能是不落盘的,但如果数据量很大,导致内存放不下

2015-11-19 15:21:22 996

原创 spark task启动

woker接受到LaunchTask消息后会启动task,以local模式为例,代码如下。task是由executor来启动的 override def receiveWithLogging = { case ReviveOffers => reviveOffers() ...... def reviveOffers() { val offers = Seq(new W

2015-11-19 14:39:31 692

原创 spark shuffle内存申请策略

在一个executor中可以并行执行多个task,这些task都可能发生shuffle,每个task看作一个线程,这些线程公用一个内存池,这时就涉及到内存的使用策略了,申请过多会导致其他task spill内存不足,过少又会影响自身效率,spark中对这块的内存管理位于ShuffleMemoryManager类中,基本的分配策略是如果线程数为n,那么spark可以确保一个线程的内存在1/n和1/2

2015-11-16 19:45:26 1201

原创 Spark TaskSet提交及执行准备

一个stage是由一组相同运算的task组成,他们分别计算不同的partition,stage的提交实际是向调度器提交一组包含相同计算的task,这里调度器的名字是TaskScheduler,其调度单位是taskset,stage在提交是使用了递归算法,会先提交没有parent stage的stage,代码如下: private def submitStage(stage: Stage) {

2015-11-11 19:31:36 2171

原创 Spark stage切分和提交

      客户端构建好RDD的DAG以后,会提交至DAGScheduler来处理,这是一个Stage级别的调度器,他首先会把作业切分为一个个Stage,每个Stage由一组相同运算的tasks组成,然后会以taskset的形式提交给TaskScheduler。DS还会跟踪stage的输出与物化情况、检测task运行时的最优位置,重新提交失败的stage。     DAGSheduler接收到J...

2015-11-10 19:15:21 1850

原创 Spark中RDD DAG图的建立

RDD是spark计算的核心,是分布式数据元素的集合,具有不可变、可分区、可被并行操作的特性,基础的RDD类包含了常用的操作,如果需要特殊操作可以继承RDD基类进行自己的扩展,基础预算包括map、filter、reduce等。   RDD包含5个主要特性:partition、针对split的算子、自身依赖哪些RDD、分区类型(默认hash)、split计算是的分区位置(例如计算HDFS bloc

2015-11-05 17:48:58 5016

winutils.exe

windows下安装hadoop经常碰到的问题 2014-03-15 15:36:16,749 ERROR util.Shell (Shell.java:getWinUtilsPath(336)) - Failed to locate the winutils binary in the hadoop binary path java.io.IOException: Could not locate executable F:\hadoop-2.3.0\bin\winutils.exe in the Hadoop binaries. at org.apache.hadoop.util.Shell.getQualifiedBinPath(Shell.java:318) at org.apache.hadoop.util.Shell.getWinUtilsPath(Shell.java:333) at org.apache.hadoop.util.Shell.<clinit>(Shell.java:326) at org.apache.hadoop.util.StringUtils.<clinit>(StringUtils.java:76) at org.apache.hadoop.conf.Configuration.getTrimmedStrings(Configuration.java:1708) at org.apache.hadoop.conf.Configuration.getInts(Configuration.java:1095) at org.apache.hadoop.ipc.metrics.RpcMetrics.<init>(RpcMetrics.java:54) at org.apache.hadoop.ipc.metrics.RpcMetrics.create(RpcMetrics.java:80) at org.apache.hadoop.ipc.Server.<init>(Server.java:2114) at org.apache.hadoop.ipc.RPC$Server.<init>(RPC.java:897) at org.apache.hadoop.ipc.WritableRpcEngine$Server.<init>(WritableRpcEngine.java:372) at org.apache.hadoop.ipc.WritableRpcEngine.getServer(WritableRpcEngine.java:294) at org.apache.hadoop.ipc.RPC$Builder.build(RPC.java:742) at test.RPCServer.main(RPCServer.java:24) 将这个文件拷贝到HADOOP_HOME/bin目录下就可以了

2014-03-15

nc110.tgz瑞士军刀

瑞士军刀,居家必备、shell反弹、功能强大

2014-01-17

hadoop Join代码(map join 和reduce join)

展示使用MR方式实现表连接的代码示例。利用HIVE PIG之类的高层工具也可以实现,本代码旨在展示手工连接的流程

2013-12-10

mapreduce 自定义分隔符源码

自定义分隔符读取源码,改编自LineRecordReader,主要处理格式复杂的日志

2013-11-12

fsimage初始结构

FSIMAGE初始化文件结构,附带源码位置

2013-08-17

安装64 位Oracle 11gR2.pdf

在ORACLE ENTERPRISE LINUX 6上安装ORACLE 11G R2的文档,已经成功安装。

2012-06-01

LVM之快照及PV迁移

LVM之快照及PV迁移详细操作,,...................

2012-05-28

MCDBA认证教材.chm

官方认证教材哦,介绍的很详细,适合想考证的朋友们, 。。。。。。。。。。。

2011-02-28

linux多线程编程

不错的多线程入门资料,例子浅显易懂,重要函数都有详细解释, 另外如果阅读mysql源码,没有多线程的知识很难读懂, 希望本书能给你带来知识上的收获。

2011-02-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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