自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

张伯毅的专栏

知者不惑,仁者不忧,勇者不惧.

  • 博客(27)
  • 资源 (13)
  • 收藏
  • 关注

原创 Spark2.3.2源码解析: 10. 调度系统 Task任务提交 (三) TaskScheduler : Executor 任务提交

架构图:  代码提交时序图Standalone模式提交运行流程图:  首先写一个WordCount代码(这个代码,为了观察多个stage操作,我写了两个reducebykey 函数)源代码: 直接执行代码,查看spark执行程序时,将代码划分stage生成的DAG流程图 可知: WordCount 在stage划分的时...

2018-12-29 17:03:59 7365

原创 Spark 本地化计算参数调整分析

 Spark在Driver上,对Application的每一个stage的task,进行分配之前,都会计算出每个task要计算的是哪个分片数据,RDD的某个partition;Spark的task分配算法,优先,会希望每个task正好分配到它要计算的数据所在的节点,这样的话,就不用在网络间传输数据;     但是呢,通常来说,有时,事与愿违,可能task没有机会分配到它的数据所在的节点,为...

2018-12-28 22:10:24 6316

原创 Spark复杂情况下的stage划分 reduceByKey leftOuterJoin union

为了研究复杂情况下的stage划分,故意写了一段复杂一点的代码进行测试。 代码:import org.apache.spark.{SparkConf, SparkContext}object WordDemo { //spark-submit --name 'WordDemo' --class WordDemo --master yarn --num-executors ...

2018-12-28 10:48:23 5571

原创 Spark2.3.2源码解析: 10. 调度系统 Task任务提交 (二) TaskScheduler : 本地化计算

 架构图: Standalone模式提交运行流程图: 首先写一个WordCount代码(这个代码,为了观察多个stage操作,我写了两个reducebykey 函数)源代码: 直接执行代码,查看spark执行程序时,将代码划分stage生成的DAG流程图 可知: WordCount 在stage划分的时候,划分为三个stage ...

2018-12-25 16:00:02 5818

原创 Spark2.3.2源码解析:9.调度系统 DAGScheduler 之 Stage 划分源码详解

Stage划分的时候,大家应该都知道是从最后一个stage向根据宽窄依赖,递归进行stage划分。但是代码里面涉及的逻辑复杂。毕竟涉及到相互递归调用。让人似懂非懂。 反正我是炸毛了 o(╥﹏╥)o本文专门用一篇文章详细论述DAGScheduler 的 stage 划分流程为了更容易理解,本文采用 debug模式+实例+源码的方式进行讲解首先写一个WordCount代码(这个代码,为...

2018-12-22 12:49:16 8734 2

原创 Spark2.3.2源码解析: 10. 调度系统 Task任务提交 (一) DAGScheduler 之 stage 提交

 一个Spark Application分为stage级别和task级别的调度, task来源于stage,所有本文先从stage提交开始讲解task任务提交。 架构图:Standalone模式提交运行流程图:首先写一个WordCount代码(这个代码,为了观察多个suffle操作,我写了两个reducebykey 函数)源代码: 直接执行代码,查看...

2018-12-22 12:11:52 5919 1

原创 Spark2.3.2源码解析: 8. RDD 源码解析 (二) textFile 返回的RDD实例是什么

 本文主要目标是分析RDD的实例对象,到底放了什么。从代码val textFile = sc.textFile(args(0)) 开始:直接看textFile 源码:你会发现调用的是hadoop的api,通过 hadoopFile 读取数据,返回一个hadoopRDD对象       hadoopRDD 返回的结果,其实就是1  val...

2018-12-21 16:13:40 5944

原创 Spark2.3.2源码解析: 7.3. SparkContext源码分析(二) :调度系统 DAGScheduler

 简介:     本质上在Actions算子中通过SparkContext执行提交作业的runJob操作,触发了RDD DAG的执行。 所以本文从runJob方法进行解析 从而引出DAGScheduler、TaskScheduler 。。。。 代码部分: 提交流程图:调度流程:   源码解析: 直...

2018-12-20 17:35:34 6165 3

原创 Spark2.3.2源码解析: 8. RDD 源码解析 (一) RDD 类分析

全称: 弹性分布式数据集1)有一个分片列表,就是能被切分,和Hadoop一样,能够切分的数据才能并行计算。  一组分片(partition),即数据集的基本组成单位,对于RDD来说,每个分片都会被一个计算任务处理,并决定并行计算的粒度。用户可以在创建RDD时指定RDD的分片个数,如果没有指定,那么就会采用默认值。默认值就是程序所分配到的CPU Core的数目。每个分配的存储是由Bloc...

2018-12-19 18:40:45 5792

翻译 Spark配置参数详解

Spark提供三个位置用来配置系统:Spark属性:控制大部分的应用程序参数,可以用SparkConf对象或者Java系统属性设置 环境变量:可以通过每个节点的 conf/spark-env.sh脚本设置。例如IP地址、端口等信息 日志配置:可以通过log4j.properties配置Spark属性Spark属性控制大部分的应用程序设置,并且为每个应用程序分别配置它。这些属性可以直接...

2018-12-18 16:41:38 10030

原创 Spark2.3.2源码解析: 4.2.Yarn cluster 模式 SparkSubmit源码分析(二)ApplicationMaster

 准备工作:启动脚本 --name spark-test --class WordCount --master yarn --deploy-mode cluster /A/spark-test/spark-test.jar  /tmp/zl/data/data.txt 执行jar包 spark-test.jar 代码 核心:   val c...

2018-12-18 14:36:12 9667

翻译 在YARN上运行Spark API

 启动命令格式:$ ./bin/spark-submit --class path.to.your.Class --master yarn --deploy-mode cluster [options] <app jar> [app options]实例:$ ./bin/spark-submit --class org.apache.spark.exam...

2018-12-18 11:39:55 7792

原创 Spark2.3.2源码解析: 7.2. SparkContext源码分析(二) :TaskSchedulerImpl

  代码部分: 启动脚本 --name spark-test --class WordCount --master yarn --deploy-mode cluster /A/spark-test.jar /mysqlClean.sql 执行jar包 spark-test.jar 代码 核心:   // 创建SparkCo...

2018-12-12 17:47:33 6211

翻译 Spark基础知识详解

        Apache Spark是一种快速通用的集群计算系统。 它提供Java,Scala,Python和R中的高级API,以及支持通用执行图的优化引擎。 它还支持一组丰富的高级工具,包括用于SQL和结构化数据处理的Spark SQL,用于机器学习的MLlib,用于图形处理的GraphX和Spark Streaming。Spark优点:减少磁盘I/O:随着实时大数据应用越来越多...

2018-12-12 17:45:38 13891 3

原创 Spark2.3.2源码解析: 7.1. SparkContext源码分析(一) : SparkEnv

    SparkContext 是通往 Spark 集群的唯一入口,可以用来在 Spark 集群中创建 RDDs 、 累加器( Accumulators )和广播变量( Broadcast Variables ) 。 SparkContext 也是整个 Spark 应用程序( Application ) 中 至关重要的一个对象,可以说是整个 Application 运行调度的核心 (不是指资源调...

2018-12-12 15:19:42 5925

原创 Spark2.3.2源码解析: 6. RDD 依赖关系:宽依赖与窄依赖

    Spark中RDD的高效与DAG(有向无环图)有很大的关系,在DAG调度中需要对计算的过程划分Stage,划分的依据就是RDD之间的依赖关系。RDD之间的依赖关系分为两种,宽依赖(wide dependency/shuffle dependency)和窄依赖(narrow dependency) 1.窄依赖窄依赖就是指父RDD的每个分区只被一个子RDD分区使用,子RDD分区通常...

2018-12-12 11:27:01 6115

原创 Spark2.3.2源码解析: 5. SparkConf源码分析

 在执行代码的时候,首先要声明:SparkConf,本文以SparkConf进行分析,逐步展开。 val conf = new SparkConf()    类中的方法(org.apache.spark.SparkConf)Modifier and Type Method and Description SparkConf clone()...

2018-12-11 16:43:57 6368

翻译 Spark2.1 内存管理详解

 本文中阐述的原理基于 Spark 2.1 版本,阅读本文需要读者有一定的 Spark 和 Java 基础,了解 RDD、Shuffle、JVM 等相关概念。在执行 Spark 的应用程序时,Spark 集群会启动 Driver 和 Executor 两种 JVM 进程,前者为主控进程,负责创建 Spark 上下文,提交 Spark 作业(Job),并将作业转化为计算任务(Task),在各...

2018-12-11 14:16:23 6712 1

翻译 Spark弹性分布式数据集RDD:基于内存集群计算的容错抽象

摘要       我们提出的弹性分布式数据集(RDDs),是一个让程序员在大型集群上以容错的方式执行基于内存计算的分布式内存抽象。RDDs受启发于两类使用当前计算框架处理不高效的应用:迭代算法和交互式数据挖掘工具。这二者在内存中保存数据性能能够提高一个数量级。为了有效容错,RDDs提供一种受限的共享内存,基于粗粒度转换(transformations)而非细粒度地更新共享状态。尽管如此,RDD...

2018-12-11 10:00:10 6602

原创 Spark2.3.2源码解析: 4.1.Yarn cluster 模式 SparkSubmit源码分析(一)

因为所有的任务提交代表都是从SparkSubmit开始,所以先从开始看源码,但是这个估计会有点复杂,先通读一下。 准备工作:启动脚本 --name spark-test --class WordCount --master yarn --deploy-mode cluster /A/spark-test/spark-test.jar  /tmp/zl/data/data.txt...

2018-12-07 23:56:45 9675 2

原创 Phoenix4.7 操作手册

 Phoenix操作手册  Phoenix简介Phoenix最早是saleforce的一个开源项目,后来成为Apache基金的顶级项目。Phoenix是构建在HBase上的一个SQL层,能让我们用标准的JDBC APIs而不是HBase客户端APIs来创建表,插入数据和对HBase数据进行查询。put the SQL back in NoSQLPhoenix完全使用Jav...

2018-12-07 10:29:17 7504 1

原创 更改CentOS7默认yum源为阿里云

1、首先备份系统自带yum源配置文件/etc/yum.repos.d/CentOS-Base.repo     mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup     2、下载ailiyun的yum源配置文件到/etc/yum.repos.d/          wget...

2018-12-07 10:06:13 5462

原创 Mysql5.7 ,Linux 环境安装

Mysql5.7 ,Linux 环境安装1、下载mysql-5.7.8-rc-linux-glibc2.5-x86_64.tar.gz链接:https://pan.baidu.com/s/1z4z8g6hzJWtNSqX96HxR8Q 提取码:mkp8 2、解压安装包:进入安装包所在目录,执行命令:tar -xzvf mysql-5.7.8-rc-linux-glibc2.5-...

2018-12-07 09:53:59 5366

原创 Spark2.3.2源码解析: 3.启动worker节点启动流程源码分析

本文启动worker节点启动流程分析 启动命令:${SPARK_HOME}/sbin/start-slave.sh spark://sysadmindeMacBook-Pro.local:7077 查看start-slave.sh 执行脚本:/workspace/spark-2.3.2/sbin/spark-daemon.sh start org.apache....

2018-12-06 15:20:50 6117

原创 Spark2.3.2源码解析: 2.启动master节点流程源码分析

本文主要说明在启动master节点的时候,代码的流程走向。 授予文件执行权限chmod755 两个目录里的文件:/workspace/spark-2.3.2/bin  --所有文件/workspace/spark-2.3.2/sbin 启动脚本:start-master.sh 脚本最终执行的是:"${SPARK_HOME}/sbin"/spark-da...

2018-12-05 23:34:00 6588 2

原创 Spark2.3.2源码分析:1.代码阅读环境准备

准备工作(仅针对于mac环境) ‘版本 软件 版本 操作系统 MAC Jdk 1.8 Maven 3.3.9+ Scala 2.10.6 Spark ...

2018-12-05 16:49:41 6472 7

原创 MAVEN编译报错: 警告: [options] 未与 -source 1.7 一起设置引导类路径

异常:ERROR] 警告: [options] 未与 -source 1.7 一起设置引导类路径 [ERROR] /workspace/spark-2.2.2/common/network-common/src/main/java/org/apache/spark/network/client/TransportClient.java:144: 错误: -source 1.7 中不...

2018-12-04 18:09:18 35439

jdk-8u251-macosx/linux/windows 多版本下载

多版本JDK jdk-8u251-linux-x64.rpm jdk-8u251-linux-x64.tar.gz jdk-8u251-macosx-x64.dmg jdk-8u251-windows-i586.exe jdk-8u251-windows-x64.exe

2020-06-28

虚拟机上网环境设置.doc

虚拟机上网环境设置.doc

2020-06-12

《编译原理(第二版)》带书签.pdf

编译原理 第二版 带书签, 赵建华 译

2019-06-06

Flink基础教程.pdf

原版。高清,带页签。 作为新一代的开源流处理器,Flink是众多大数据处理框架中一颗冉冉升起的新星。它以同一种技术支持流处理和批处理,并能同时满足高吞吐、低延迟和容错的需求。本书由Flink项目核心成员执笔,系统阐释Flink的适用场景、设计理念、功能、用途和性能优势

2019-05-28

数据结构与算法分析 java语言描述(原书第3版)中文PDF+源码+课后习题源码

数据结构与算法分析 java语言描述(原书第3版)中文PDF+源码+课后习题源码

2019-05-08

深入理解计算机系统(原书第3版)PDF 计算机科学丛书 [美] 兰德尔 E.布莱恩特

前言   本书(简称CS:APP)的主要读者是计算机科学家、计算机工程师,以及那些想通过学习计算机系统的内在运作而能够写出更好程序的人。   我们的目的是解释所有计算机系统的本质概念,并向你展示这些概念是如何实实在在地影响应用程序的正确性、性能和实用性的。其他的系统类书籍都是从构建者的角度来写的,讲述如何实现硬件或系统软件,包括操作系统、编译器和网络接口。而本书是从程序员的角度来写的,讲述应用程序员如何能够利用系统知识来编写出更好的程序。当然,学习一个计算机系统应该做些什么,是学习如何构建一个计算机系统的很好的出发点,所以,对于希望继续学习系统软硬件实现的人来说,本书也是一本很有价值的介绍性读物。大多数系统书籍还倾向于重点关注系统的某一个方面,比如:硬件架构、操作系统、编译器或者网络。本书则以程序员的视角统一覆盖了上述所有方面的内容。   如果你研究和领会了这本书里的概念,你将开始成为极少数的“牛人”,这些“牛人”知道事情是如何运作的,也知道当事情出现故障时如何修复。你写的程序将能够更好地利用操作系统和系统软件提供的功能,对各种操作条件和运行时参数都能正确操作,运行起来更快,并能避免出现使程序容易受到网络攻击的缺陷。同时,你也要做好更深入探究的准备,研究像编译器、计算机体系结构、操作系统、嵌入式系统、网络互联和网络安全这样的高级题目。   读者应具备的背景知识   本书的重点是执行x86-64机器代码的系统。对英特尔及其竞争对手而言,x86-64是他们自1978年起,以8086微处理器为代表,不断进化的最新成果。按照英特尔微处理器产品线的命名规则,这类微处理器俗称为“x86”。随着半导体技术的演进,单芯片上集成了更多的晶体管,这些处理器的计算能力和内存容量有了很大的增长。在这个过程中,它们从处理16位字,发展到引入IA32处理器处理32位字,再到最近的x86-64处理64位字。   我们考虑的是这些机器如何在Linux操作系统上运行C语言程序。Linux是众多继承自最初由贝尔实验室开发的Unix的操作系统中的一种。这类操作系统的其他成员包括Solaris、FreeBSD和MacOS X。近年来,由于Posix和标准Unix规范的标准化努力,这些操作系统保持了高度兼容性。因此,本书内容几乎直接适用于这些“类Unix”操作系统。   文中包含大量已在Linux系统上编译和运行过的程序示例。我们假设你能访问一台这样的机器,并且能够登录,做一些诸如切换目录之类的简单操作。如果你的计算机运行的是Microsoft Windows系统,我们建议你选择安装一个虚拟机环境(例如VirtualBox或者VMWare),以便为一种操作系统(客户OS)编写的程序能在另一种系统(宿主OS)上运行。   我们还假设你对C和C++有一定的了解。如果你以前只有Java经验,那么你需要付出更多的努力来完成这种转换,不过我们也会帮助你。Java和C有相似的语法和控制语句。不过,有一些C语言的特性(特别是指针、显式的动态内存分配和格式化I/O)在Java中都是没有的。所幸的是,C是一个较小的语言,在Brian Kernighan和Dennis Ritchie经典的“K&R”文献中得到了清晰优美的描述\[61\]。无论你的编程背景如何,都应该考虑将K&R作为个人系统藏书的一部分。如果你只有使用解释性语言的经验,如Python、Ruby或Perl,那么在使用本书之前,需要花费一些时间来学习C。   本书的前几章揭示了C语言程序和它们相对应的机器语言程序之间的交互作用。机器语言示例都是用运行在x86-64处理器上的GNU GCC编译器生成的。我们不需要你以前有任何硬件、机器语言或是汇编语言编程的经验。   给C语言初学者  关于C编程语言的建议   为了帮助C语言编程背景薄弱(或全无背景)的读者,我们在书中加入了这样一些专门的注释来突出C中一些特别重要的特性。我们假设你熟悉C++或Java。

2019-03-08

Java虚拟机规范(Java SE 8版) 带书签

Java虚拟机规范(Java SE 8版) (Oracle官方发布,Java虚拟机技术创建人撰写,国内资深Java技术专家翻译,是深度了解Java虚拟机和

2018-10-26

Hadoop权威指南:大数据的存储与分析(第4版)

Hadoop权威指南:大数据的存储与分析(第4版) 出版社: 清华大学出版社 PDF版本

2018-10-17

HBase应用架构PDF版本

HBase应用架构 [美] 吉恩-马克·斯帕加里(Jean-Marc Spaggiari) 著,陈敏敏 夏锐 陈其生 译

2018-09-21

Thinking in UML(2 edition)

在网上下载的,有兴趣的可以看看。 ------------------------------------------------ 当你的才华还撑不起你的野心时,那你就应该静下心来学习;当你的能力还驾驭不了你的目标时,那就应该沉下心来历练、沉淀和积累!

2014-06-24

《谁说菜鸟不会数据分析》入门篇-简版电子书

整理的电子书,有喜欢的可以下载。 ------------------------------------------------------------ 当你的才华还撑不起你的野心时,那你就应该静下心来学习;当你的能力还驾驭不了你的目标时,那就应该沉下心来历练、沉淀和积累!

2014-06-24

[逻辑思维训练500题II].于雷.扫描版

整理的电子书,有喜欢的可以下载。 ------------------------------------------------------------ 当你的才华还撑不起你的野心时,那你就应该静下心来学习;当你的能力还驾驭不了你的目标时,那就应该沉下心来历练、沉淀和积累!

2014-06-24

空空如也

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

TA关注的人

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