- 博客(51)
- 收藏
- 关注
原创 粗粒度和细粒度
一.粗粒度资源调度:典型:Spark在Application执行之前,会将所有的资源(Executor)申请完毕,直接资源申请完毕后,才会进行任务调度,直到最后一个task执行完毕,才会释放掉这部分资源优点:每一个task执行之前不需要自己去申请资源,直接使用资源就可以,那么每一个task执行时间也就缩短了,stage执行时间也缩短了,job的执行时间也就缩短了Application执行时...
2019-07-23 11:28:43
981
原创 spark的广播变量和累加器
广播变量: 广播变量允许开发人员在每个节点缓存只读的变量,而不是在任务之间传递这些变量。例如,使用广播变量能够高效地在集群每个节点创建大数据的副本。同时,Spark还使用高效的广播算法分发这些变量,从而减少通信的开销。 spark应用程序作业的执行由一系列调度阶段构成,而这些调度阶段通过Shuffle进行分隔。Spark能够在每个调度阶段自动广播任务所需通用的数据,这...
2019-04-17 15:24:09
247
原创 spark算子操作
spark算子操作 创建RDD的本地文件 转换操作 map map操作是对RDD中的每个元素都执行一个指定的函数来产生一个新RDD,任何原RDD中的元素在新RDD中的元素在新RDD中都有且只有一个元素与之对应 flatMap操作与map操作类似,区别是原RDD中的每个元素经过map处理后只...
2019-04-17 09:51:54
731
原创 spark submit
spark on yarn 的提交模式资源参数调优spark资源参数调优,其实主要就是对spark运行中各个使用资源的地方,通过调节各种参数,来优化资源的使用效率从而提升Spark作业的执行性能。以下参数就是spark中主要的资源参数,每个参数都对应着作业运行原理的某个部分,在这里同时给出了参数调优的参考值num-executors参数说明: 该参...
2019-03-20 11:19:55
571
原创 spark的shuffle操作
第一个特点,在Spark早期版本中,那个bucket缓存是非常非常重要的,因为需要将一个ShuffleMapTask所有的数据都写入内存缓存之后,才会刷新到磁盘。但是这就有一个问题,如果map side数据过多,那么很容易造成内存溢出。所以spark在新版本中,优化了,默认那个内存缓存是100kb,然后呢,写入一点数据达到了刷新到磁盘的阈值之后,就会将数据一点一点地刷新到磁盘。...
2019-03-04 11:08:40
326
原创 spark中checkpoint
查了大部分资料,关于spark中的checkpoint有一些自己的想法。spark中的checkpoint操作设置检查节点,相对持久化操作presist而言,是切断RDD依赖的操作,但同时它将RDD操作的过程,以文件的形式存储在分布式系统中(一般是HDFS),其实我们把这完全理解为恢复RDD日志。当任务失败,spark自己可以根据checkpoint的日志信息,很快恢复数据。。...
2019-03-04 10:56:56
403
原创 如何解决IDEA下载Scala失败,手动配置SCALA插件
首先下载IDEAhttps://www.jetbrains.com/idea/手动配置scala插件下载scala插件http://plugins.jetbrains.com/plugin/1347-scala注意:查看idea与scala的版本号是否一致。...
2018-12-27 17:14:55
4243
原创 hadoop的Mapreduce概念
MapReduce概念Mapreduce 是一个分布式运算框架,是用户开发“基于hadoopd的数据分析应用”的核心框架 Mapreduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个hadoop集群上。为什么要使用MapReduce 1)海量数据在单机上处理因为硬件资源限制,无法胜任 2)而一旦将单机版程序扩展到集群...
2018-10-18 22:15:11
728
原创 Shiro框架
1.什么是权限管理基本上涉及到用户参与的系统都要进行权限管理,权限管理属于系统安全的范畴,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户可以访问而且h只能访问自己被授权的资源。 权限管理包括用户身份证和授权两部分,简称认证授权。对于需要访问控制的资源用户首先经历过身份认证,认证通过后用户具有该资源的访问权限方可访问。2.用户身份认证身份认证,就是判断一个用户是否为合...
2018-10-08 21:14:05
190
原创 SSH整合
SSH分别代表的是spring,springmvc,hibernate三个框架,其中spring作用于三层架构中的service层,springmvc作用于三层架构中的servlet层,hibernate作用于三层架构中的dao层。SSH整合第一步是添加依赖(pom.xml)spring依赖:spring-context; springmvc依赖:spring-webmvc; hibe...
2018-10-05 16:36:53
157
原创 hibernate多表联查
创建多表联查一对一public class Teacher{ private int id; private String name; private Room room;}public class Room{ private int id; private String name; private Teacher tea...
2018-10-05 00:05:49
950
原创 hibernat的查询语句
Hibernate常见的查询方式NativeSQL是运用数据库本身提供的数据查询语言进行查询的,这种方式查询效率高,与数据库耦合性高依赖于具体的数据库。因为不同的数据库厂商提供的查询语句会存在某些细微从差别。 HQL通过Hibernate提供的查询语言进行查询。Hibernate y lanague。 EJBQL(JPQL1.0)是EJB提供的查询语言 QBC(query by cre...
2018-10-04 15:30:31
200
原创 hibernate框架
Hibernate介绍 Hibernate是当今主流的java持久层的框架之一,是一个开源的ORM框架,它对JDBC进行了轻量级的对象封装。 优点Hibernate对JDBC访问数据库的代码做了封装。简化了数据访问层繁琐的重复性代码。 Hibernate是一个基于jdbc的主流持久化框架,是一个优秀的orm实现,很大程度的简化了道层编码工作 Hibernate使用...
2018-09-27 22:01:11
350
原创 SSM框架整合
SSM作用:SSM框架是Springmvc,spring,mybatis框架组合的,分别对应controller(表示层),service(业务逻辑层),mapper(持久化层)。Springmvc框架在SSM中的作用就是处理请求转发和视图管理。spring框架在SSM中的作用实现业务逻辑。mybatis作用是连接数据库。主要在数据库中存数据和取数据。 SSM...
2018-09-04 21:58:13
266
原创 SpringMVC
MVC架构 MVC是一种著名的设计模式,特别是在 Web 应用程序领域。模式全都是关于将包含业务数据的模块与显示模块的视图解耦的。这是怎样发生的?视图(例如,JSP 页面)怎样能够与其模型(例如,包含数据的 JavaBean)解耦?记得这句格言么?一个层次的重定向几乎可以解决计算机业中的所有问题。确实,在模型和视图之间引入重定向层可以解决问题。此重定向层是控制器。控制器将接收请求...
2018-09-02 15:30:02
406
原创 spring和mybatis结合
Spring和Mybatis Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。 两个重要模块:Spring面向方面编程(AOP)和控制反转(IOC)容器。 控制反转模式(也称作依赖性介入)的基本概率是:不创建对象,但是描述创建它们的方式。 在代码中不直接与对象和服务连接,但在配置文件...
2018-09-01 17:04:34
215
原创 Maven
Maven是一个项目管理工具,它包含了一个项目对象模型,一组标准集合,一个项目生命周期,一个依赖管理系统,和用来运行定义在生命周期阶段中插件目标的逻辑。 Maven是面向技术层面,针对Java开发项目管理工具,它提供了构建工具所提供功能的超集,除了构建功能外,maven还可以管理项目结构、管理依赖关系、生成报告、生成web站点、有助于团队成...
2018-08-31 21:44:45
153
原创 mybatis逆向工程
逆向工程Mybatis的一个主要的特点就是需要程序员自己编写sql,那么如果表太多的话,难免会很麻烦,所以mybatis官方提供了一个逆向工程,可以针对单表自动生成mybatis执行所需要的代码。一般在开发中,常用的逆向工程方式是通过数据库的表生成代码。1.新建工程 我们要新建一个java工程,这个工程专门用来使用逆向工程生成代码的。有些人可能会问,为什么要新建一个工程呢?直接在原...
2018-08-31 20:00:27
113
原创 MyBatis框架2
配置文件//mybatis配置文件<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><c
2018-08-28 21:28:11
173
原创 Mybatis框架1
Mybatis简介Mybatis本是apache的一个开源项目iBatis,2010年这个项目由apache software foundation 迁移到了google谷歌,并且改名为MyBatis MyBatis是支持定制化SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及对结果集的检索封装。MyBatis可以对配置和原生Map使...
2018-08-28 20:16:25
298
原创 spring框架——AOP
AOP术语为什么需要AOP AOP也就是面向切面编程,作为面向对象编程的一种补充,已经成为一种比较成熟的编程方式。其实AOP问世的时间并不太长,AOP和OOP互为补充,面向切面编程将程序运行过程分解成各个切面。 AOP专门用于处理系统中分布于各个模块(不同方法)中的交叉关注点的问题,在javaEE应用中,常常通过AOP来处理一些具...
2018-08-27 21:07:40
238
原创 spring框架1
spring优点低侵入设计,代码的污染极地 独立于各种应用服务器,基于Spring框架的应用,可以真正实现Write Once ,Run Anywhere的承若 Spring的IoC容器降低了业务对象替换的复杂性,提高了组件之间的解耦 Spring的AOP支持将一些通用的任务和安全、事务、日志等进行集中式管理,从而提供了更好的复用 Spring的ORM和DAO提供了与第三方持久...
2018-08-24 21:49:03
214
原创 反射
什么是反射反射机制是在运行状态中 对于任意一个类,都能够知道这个类的所有属性和方法; 对于任意一个对象,都能够调用它的任意一个方法和属性; 这种动态获取的信息以及动态调用的方法的功能称为java语言的反射机制主要作用在运行时判断任意一个对象所属的类 在运行时构造任意一个类的的对象 在运行时判断任意一个类所具有的成员变量和方法 在运行时调用任意一个对象的方法 生成动态代...
2018-08-22 21:26:59
148
原创 三层架构
Model1在Model1模型中,是以JSP为中心,这种模型中JSP既要做页面显示,又要结合业务逻辑处理服务端过程,简单说就是Model1开发没有Servlet,JSP中既有HTML代码又有逻辑代码。JSP页面的交互通过页面的链接完成。Model1的结构图Model2因为Model1的缺点太过明显,在Model1的基础上,Model2对JSP的任务进行分离,将获取参数,调用...
2018-08-14 22:48:54
169
原创 JSTL核心标签库
<--只要在界面中使用JSTL核心标签库,都需要使用此指令,引入标签库路径--><%@ taglib prefix="c" url="http://java.sun.com/jsp/jstl/core"%><--out:在界面上显示信息value:要显示的内容,支持EL表达式default:默认值escapeXml:是否解析html标签 fal...
2018-08-14 20:12:09
144
原创 在eclipse上建mysql包
先将mysql数据库导出(Navicat)在eclipse里面创建sql文件夹schame包将导出的sql文件放入schame文件下 在eclipse里面配置mysql环境,连接mysql点击在控制台上显示Database connections点击new选择mysql选择驱动,驱动版本要和你的架包版本一致添加连接数据库...
2018-08-14 19:31:14
599
原创 EL表达式
EL表达式语法: ${域中数据的名称}EL的主要作用获取数据EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域中检索java对象、获取数据(某个web域中的对象,访问javabeam属性、访问list集合、访问map集合、访问数组)执行算法利用EL表达式可以在JSP页面中执行一些基本的关系运算、逻辑运算和算术运算,以在JSP页面中完成一些简单的逻...
2018-08-13 22:09:56
271
原创 Jsp
jsp注释(隐式注释) jsp语法 1.jsp声明<%! >只能声明变量 声明方法 不能写代码块类中 只执行一次2.jsp脚本<% %>只能写代码块,不能声明方法service()方法中 每次发起请求都会执行3.jsp表达式<%= %>只能写表达式 把内容显示到浏览器界面上方法参数中 每次发...
2018-08-10 13:07:59
207
原创 css
一、css的简介1、什么是css Cascade Style Sheet 层叠样式表,css是对html进行样式修饰语言 层叠:就是层层覆盖叠加,如果不同的css样式对同一html标签进行修饰,样式有冲突的部分应用优先级高的,不冲突的部分共同作用 样式表:就是css属性样式的集合 2、css的作用 (1)修饰html的 使其html样式...
2018-08-04 15:47:52
160
原创 html部分标签的用法
一、html简介1、html是什么 html是用来描述网页的一种语言HTML指的是超文本标记语言(Hyper Text Markup Language) HTML不是一种编程语言,而是一种标记语言 ,标记语言是一 套标记标签(markup tag) HTML使用标记标签来描述网页超文本 标记 语言 语言: 人与计算机交互的工具...
2018-08-04 15:35:52
1013
1
原创 MySQL(2)
数据约束 1.默认值 default 表中的字段,默认的默认值为null 如果插入数据时,不给某个字段赋值,那么这个字段就使用设置的默认值。如果赋值,就使用实际赋的值,这个值可以为nullstudent为表名创建时设置某个字段的默认值create table student( id int default 1, name varchar(10))修改某个字段的默...
2018-07-29 20:28:13
169
转载 栈和堆
简单的说: Java把内存划分成两种:一种是栈内存,一种是堆内存。 在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。 当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。 堆内存用来存放由new创建的对象和数...
2018-07-29 15:43:05
143
原创 MySQL(1)
常用数据库命令 1.查询所有数据库 show databases 2.创建数据库 create databases [if not exists] db106 3.创建数据库指定字符集 create databases db604 character set utf8 collate ...
2018-07-25 22:36:20
169
原创 I/O
IO概念I/O: Input/Output,输入、输出stream:流,数据流,数据传输、通信的通道Java应用程序中,“流”是基本的传输数据的方式。JDK提供了各种“”流”来操作数据。InputStream抽象类 字节输入流:继承自InputStream的流都是输入流,用于向程序中输入数据,且数据的单位为字节 InputStream 1. FileInputStream ...
2018-07-24 21:51:16
151
原创 文件
File类 File类代表系统中的文件对象(文件或目录),位于java.io下。存储介质上的文件或目录在java程序中都是用File类的实例来表示。 常用构造方法: public File(String pathname):以Pathname为路径创建File对象,如果pathname是相对路径,则是以eclipse下的项目为根目录 ...
2018-07-23 22:33:17
192
原创 异常
异常的概念异常是程序在运行期间发生的不正常的事件,它会中断指令的正常执行流程设计良好的程序应该在异常发生时,提供处理这些不正常事件的方法,使程序不会因为异常的发生而中断或产生不可预见的结果。Java语言使用异常处理机制,为程序提供异常处理的能力 异常分类 Throwable 1.Error(错误) 2.Excepion【1.受检异常 2.非受检异常】 ...
2018-07-23 21:12:50
167
原创 包装类、日期类和递归思想
包装类 int Integer byte Byte short Short long Long float Float double Double boolean Boollean char Charac...
2018-07-22 19:40:46
182
原创 泛型
泛型方法 泛型方法:该方法在调用时可以接收不同类型的参数。根据传递给泛型方法的参数类型,编译器适当的处理每一个方法的调用。所有泛型方法声明都有一个类型参数声明部分(由尖括号分隔),该类型参数声明部分在方法返回类型之前。每一个类型参数声明部分包括一个或多个类型参数,参数间用逗号隔开,一个泛型参数,也被称为一个类型变量,是用于指定一个泛型类型名称的标识符。类型参数能被用来声明返回值...
2018-07-22 19:17:25
172
原创 集合框架(1)
Collection工具类 Collection类:Java提供操作的集合的工具类,位于java.util包下,类中的方法均为static.集合和数组的区别: 1.数组是定长的,集合不限定长度 2.任意类型都有自己对应的数组数组中只能存放同种类型的数据,集合中只能存放引用类型的数据Collection collection = new ArrayList&amp;amp;amp;amp;lt;&amp;amp;amp;amp;gt;();/...
2018-07-21 15:20:57
138
原创 集合框架(2)
集合框架被设计成要满足以下几个目标该框架必须是高性能的。基本集合(动态数组,链表,树,哈希表)的实现也必须是高效的该框架允许不同类型的集合,以类似的方式工作,具有高度的互操作性.对一个集合的扩展和适应必须是简单的4.集合框架图 从上面的集合框架可以看到,Java集合框架主要包括两种类型的容器,一种是集合(collection),存储一个元素集合,另一种是图(Map),存储...
2018-07-20 21:35:40
200
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人