stage

spark性能调优7 算子调优

与世无争的帅哥 提交于 2019-11-29 08:28:27
1。mappartions替换map提高性能 map算子的操作,在一个分区中,数据会一条一条进入函数内部 而mappartions则会把分区中所有数据都导入到函数执行 1、MapPartitions操作的优点: 如果是普通的map,比如一个partition中有1万条数据;ok,那么你的function要执行和计算1万次。 但是,使用MapPartitions操作之后,一个task仅仅会执行一次function,function一次接收所有的partition数据。只要执行一次就可以了,性能比较高。 2、MapPartitions的缺点: 如果是普通的map操作,一次function的执行就处理一条数据;那么如果内存不够用的情况下,比如处理了1千条数据了,那么这个时候内存不够了,那么就可以将已经处理完的1千条数据从内存里面垃圾回收掉,或者用其他方法,腾出空间来吧。 所以说普通的map操作通常不会导致内存的OOM异常。 但是MapPartitions操作,对于大量数据来说,比如甚至一个partition,100万数据,一次传入一个function以后,那么可能一下子内存不够,但是又没有办法去腾出内存空间来,可能就OOM,内存溢出。 3、什么时候比较适合用MapPartitions系列操作 就是说,数据量不是特别大的时候,都可以用这种MapPartitions系列操作

spark基础认识笔记

此生再无相见时 提交于 2019-11-29 06:54:54
1.Spark Apache Spark是一种快速通用的集群计算系统。 它提供Java,Scala,Python和R中的高级API,以及支持通用执行图的优化引擎。 它还支持一组丰富的高级工具,包括用于SQL和结构化数据处理的Spark SQL,用于机器学习的MLlib,用于图形处理的GraphX和Spark Streaming。 2.基本概念 3.RDD及其RDD任务划分原理 图中共展示了A、B、C、D、E、F、G一共7个RDD。每个RDD中的小方块代表一个分区,将会有一个Task处理此分区的数据。RDD A经过groupByKey转换后得到RDD B。RDD C经过map转换后得到RDD D。RDD D和RDD E经过union转换后得到RDD F。RDD B和RDD F经过join转换后得到RDD G。从图中可以看到map和union生成的RDD与其上游RDD之间的依赖是NarrowDependency,而groupByKey和join生成的RDD与其上游的RDD之间的依赖是ShuffleDependency。由于DAGScheduler按照ShuffleDependency作为Stage的划分的依据,因此A被划入了ShuffleMapStage 1;C、D、E、F被划入了ShuffleMapStage 2;B和G被划入了ResultStage 3

Glide原理之Engine#load

こ雲淡風輕ζ 提交于 2019-11-29 04:54:13
Engine类是Glide框架加载图片的入口。接下来我们分析load的过程。 1. Engine#load public <R> LoadStatus load( GlideContext glideContext, Object model, Key signature, int width, int height, Class<?> resourceClass, Class<R> transcodeClass, Priority priority, DiskCacheStrategy diskCacheStrategy, Map<Class<?>, Transformation<?>> transformations, boolean isTransformationRequired, boolean isScaleOnlyOrNoTransform, Options options, boolean isMemoryCacheable, boolean useUnlimitedSourceExecutorPool, boolean useAnimationPool, boolean onlyRetrieveFromCache, ResourceCallback cb, Executor callbackExecutor) { long startTime = VERBOSE

How to Change the icon on the title bar of a stage in java fx 2.0 of my application [duplicate]

别等时光非礼了梦想. 提交于 2019-11-29 03:41:51
This question already has an answer here: JavaFX Application Icon 18 answers I have tried the stage.getIcons().add(new Image("attuncore.jpg")); But I don't know what is going wrong .. Please help. Thanks in advance. Full program for starters :) This program set Stack Overflow Icon. import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.image.Image; import javafx.scene.layout.StackPane; import javafx.stage.Stage; public class StackoverflowIcon extends Application { @Override public void start(Stage stage) { StackPane root = new StackPane(); // set icon stage

Login Application with 1 stage and multiple scene in JavaFX

橙三吉。 提交于 2019-11-29 02:25:52
I am doing a timeline project. I have successfully created a login system and menus for everything, but when I press the buttons I have done so it will open a new window(with stage, scenes). I have read that it isn't the best approach. The best way would be to only have 1 primary stage, and that one would be when I launch the application, the login. But I have looked for information about multiple scenes with one stage but I have not found any good solutions. Would really really appreciate some help ;) Hopefully you understand what I want to achieve. Worth mentioning, i=I'm dealing with

吴恩达:04卷积神经网络 第二周深度卷积网络 编程作业 Residual Networks

妖精的绣舞 提交于 2019-11-29 00:02:01
Residual Networks Welcome to the second assignment of this week! You will learn how to build very deep convolutional networks, using Residual Networks (ResNets). In theory, very deep networks can represent very complex functions; but in practice, they are hard to train. Residual Networks, introduced by He et al. , allow you to train much deeper networks than were previously practically feasible. In this assignment, you will: Implement the basic building blocks of ResNets. Put together these building blocks to implement and train a state-of-the-art neural network for image classification. This

憨批的语义分割7——基于resnet模型的segnet讲解(划分斑马线)

丶灬走出姿态 提交于 2019-11-28 21:22:37
憨批的语义分割7——基于resnet模型的segnet讲解(划分斑马线) 学习前言 模型部分 什么是Segnet模型 什么是Resnet模型 segnet模型的代码实现 1、主干模型resnet。 2、segnet的Decoder解码部分 代码测试 训练部分 训练的是什么 1、训练文件详解 2、LOSS函数的组成 训练代码 1、文件存放方式 2、训练文件 3、预测文件 训练结果 学习前言 好好学习呀。 模型部分 什么是Segnet模型 Segnet模型是一个比较基础的语义分割模型,其结构比较简单,在说其结构之前,我们先讲一下convolutional Encoder-Decoder的结构。 其 主要结构与自编码(Autoencoder)类似,通过编码解码复原图片上每一个点所属的类别。 下图主要是说明利用卷积层编码与解码的过程。 segnet模型与上述模型类似。 其主要的过程就是, 其利用Encoder中提取了多次特征的f4进行处理,利用Decoder进行多次上采样Upsampling2D。最后得到一个具有一定hw的filter数量为n_classes的图层。 什么是Resnet模型 ResNet50有两个基本的块, 分别名为Conv Block和Identity Block,其中Conv Block输入和输出的维度是不一样的,所以不能连续串联,它的作用是改变网络的维度

CI/CD/Jenkins

倾然丶 夕夏残阳落幕 提交于 2019-11-28 20:59:36
Continuous Integration, Continuous Delivery & Deployment (CI/CD) 持续集成、持续部署&持续交付。 Jenkins就是一个持续集成的工具,开源的,基于 JAVA语言的,需要安装jdk。 jenkins部署.net平台自动化构建   在引入自动化部署工具的时候,我们对比了jenkins和gitlab CI,jenkins有非常丰富的插件,配置起来方便。gitlab CI更倾向于脚本配置,当然jenkins也可以使用pipeline实现全脚本化配置(everything is code,哈哈)。我们这里主要讲述jenkins的自动化部署。   基本组合是jenkins+git+msbuild+python,实现从代码仓库拉取、编译、打包、部署、自动化测试。(.net core和framework4.6.1可以不依赖msbuild构建,将在下一篇文章中讲述) 一、安装环境 1.jenkins是java生态圈的产品,需要安装jdk 2..net项目依赖.net framework,安装需要的framework版本(如framework4.5.1) 3.安装构建工具msbuild 4.安装nuget 5.安装jenkins 二、配置jenkins 1.安装好jenkins后,进入“系统管理”->“插件管理”

Spark基础

纵饮孤独 提交于 2019-11-28 19:48:19
Spark基本知识 1、简单架构 (重点) 2、主要数据抽象RDD RDD ——弹性分布式数据集 (重点) RDD特性 (重点) RDD创建 RDD分区器 3、RDD的依赖关系 (重点) 依赖关系对比 Shuffle过程 触发shuffle的算子 4、DAG工作原理 5、算子 (重点) 转换算子(Transformation) 动作算子(Actions): 6、RDD持久化 缓存cache 检查点 7、共享变量 广播变量 累加器 8、分区及优化 分区设计 数据倾斜 9、常见数据源的装载 装载CSV数据源 装载Json文件 10、基于RDD的Spark程序开发 Spark与MapReduce对比 Spark是一种有别于MR的计算框架,它偏向于使用内存处理数据,并且尽可能的减少数据写入磁盘和shuffle的过程。 Spark = 基于内存的分布式计算框架 + SCALA + Schema的应用 为什么是schema而不是sql ? 尽管Spark提供了众多拓展SQL的组件和接口,但不可否认的是它并不是一个数据库,数据往往存储在另一个分布式的存储系统上,Spark同hive一样仅维护关于数据的元数据库。 2014年Spark超过MapReduce成为排序的排行榜第一 MapReduce缺点: 只有Map和Reduce两个操作,复杂逻辑需要繁杂的代码支持

Spark中资源与任务的关系

你。 提交于 2019-11-28 16:35:16
在介绍Spark中的任务和资源之前先解释几个名词: Dirver Program:运行Application的main函数(用户提交的jar包中的main函数)并新建SparkContext实例的程序,称为驱动程序,通常用SparkContext代表驱动程序(任务的驱动程序)。 Cluster Manager:集群管理器是集群资源管理的外部服务。Spark上现在主要有Standalone、YARN、Mesos3种集群资源管理器。Spark自带的Standalone模式能满足绝大部分         Spark计算环境中对集群资源管理的需求,基本只有在集群中运行多套计算框架时才考虑使用YARN和Mesos。通常说的Spark on YARN或者Standalone指的就是         不同的集群资源管理方式(资源管理器)。 Worker Node:集群中可以运行Application代码的工作节点(计算资源)。 Executor:  在Worker Node上为Application启动的一个工作进程,在进程中负责任务(Task)的运行,并且负责将数据存放在内存或者磁盘上,在Excutor内部通过多线程(线程池)        并发处理应用程序的具体任务(在计算资源上运行的工作进程)。        每个Application都有各自独立的Executors