自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 资源 (2)
  • 收藏
  • 关注

原创 mybatis

ORMapping:Object Relationship Mapping 对象关系映射实现数据持久化的开发框架,对JDBC的封装与jdbc相比减少了50%代码量最简单的持久化框架,小巧易学与应用程序的解耦,sql写在xml内,降低耦合度,便于统一管理和优化、重用。提供xml标签,支持编写动态sql语句提供映射标签,支持对象与数据库的ORM字段关系映射。缺点:sql语句编写工作量较大sql语句依赖于数据库,导致数据库移植性差,不能随意更换数据库。核心接口类:SqlSessionFact

2021-04-22 21:28:02 121

原创 java的反射机制

package reflect;import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.Method;/**类说明: @author caiyisong @version 1.0@date 2021/4/8 8:55@since JDK 1.8*/ /* java的反射機制:将一个类的各个部分封装成其他对象[reflect.Perso

2021-04-08 09:56:55 103

原创 azkaban配置

web服务器配置ParameterDescriptiondefaultazkaban.nameazikaban实例名,显示在webui,运行多个web实例时用于区分localazkaban.label实例描述my local azkabanazkaban.colorweb ui颜色web.resource.dircss js文件路径default.timezone时区America/Los_Angelesviewer.plugin.

2021-03-31 11:45:47 209

原创 azikaban getting start

azikaban提供两种安装模式:单服务模式,和分布式多executor模式单服务器模式,数据库为嵌入式h2(内置数据库),web服务和executor服务运行在同一进程上。多executor模式,数据库基于mysql,并且以master-slave方式安装mysql实例;web服务和executor服务器运行在不同的主机上,升级和维护对用户不影响。整体步骤如下:安装数据配置数据库使用多executor模式Download and install the Executor Server for

2021-03-31 11:28:38 238 1

原创 java对象执行内存图

java jvm 内存区分为堆、栈、方法区、堆用于存放静态数据;方法区用于存放方法、类定义;栈用于执行过程中成员变量、方法的创建(入栈)及销毁(出栈);将类定义加载入方法区执行开始main入栈、创建局域变量,局域变量的值在栈内为地址值,该地址值指向堆内;当执行到新方法如call,根据地址值找到call定义,并在栈内创建call调用执行的相关局部变量,执行完毕便出栈销毁。直到程序运行结束。...

2021-03-30 21:27:18 94

原创 java设计模式之简单工厂模式

一、简单工厂模式举例假设有抽象类-Car,拥有多个具体子类BenCar、BMWCar、LandRoverCar;public abstract class Car { String name = null; public String getName(){ return name; }; public void drive(){ System.out.println(this.getClass()); };}@Vehic

2021-03-30 13:31:30 143

原创 DataX简单使用

一、dataX简介阿里巴巴一款异构数据源离线同步工具,可实现mysql、oracle、hdfs、hive、odps、hbase等各种异构数据源之间稳定高效的数据同步功能。1.1 datax设计将复杂的网状同步链路转为星型链路,data作为中间节点链接各种数据接口,方便管理与开发维护。1.2 框架设计类似于flume的框架设计,reader:采集模块,包含各个数据源的读取接口channel:中间数据缓存,并发控制、数据转换writer:同reader1.3 运行原理job:管理单个作

2021-03-27 11:09:20 623

原创 Git的使用

版本控制软件:git、svn、分类:本地版本控制适用于个人使用集中版本控制多人协作一、git历史二、git环境配置下载git官网:https://git-scm.com/git阿里镜像:http://npm.taobao.org/mirrors/git-for-windows直接安装即可2) git 菜单三个程序git bash:linux shell命令操作git,推荐使用git cmd:使用window命令访问操作gitgit GUI: 图形化访问git

2021-03-27 10:34:26 56

原创 Plugin ‘org.apache.maven.plugins:maven-resources-plugin:2.6‘ not found

新导入一个项目,在加载pom依赖时,报Plugin ‘org.apache.maven.plugins:maven-resources-plugin:2.6’ not found;plugin配置如下: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugi

2021-03-26 09:47:59 4918

原创 禅道项目管理软件的使用

研发项目管理的方法:瀑布和敏捷周期长软件过于复杂,早期的需求分析、设计很难保证开发结果是理想的敏捷的理念:- 个体与交互 重于 过程和工具- 可用的软件 重于 完备的文档- 客户协作 重于 合同谈判- 响应变化 重于 遵循计划目的在于快速交付有价值和质量的产品服务,迭代式开发;从交付角度:欢迎需求变更尽早,持续的交付有价值的软件;周期越短越好,不断交付可用软件可用软件衡量进度的指标沟通角度:业务人员与工作人员一起工作最有效的沟通是面对面交流激励并信任项目团队,给

2021-03-22 23:01:22 1037 1

原创 Flink UDF函数(Function)

接口Function -》接口FilterFunction、MapFunction、FlatMapFunction、ReduceFunction、CoMapFunction自定义Function,实现以上函数,并重写内部的方法。ds.reduce(new myFunction());class myFunction implements ReduceFunction<SensorReading>() { @Override public S

2021-03-21 19:59:36 355

原创 Flink支持的数据类型

flink是以数据对象表示数据流,这些数据对象在网络传输及存储过程中需要被序列化,反序列化;flink有类型提取系统,能够分析函数的输入和返回类型。但是某些情况下仍需要显示的给出类型信息,从而获得序列化、反序列化器。一、基本数据类型int/Double/String等及其包装类型Integer、二、Tuples三、scala样例类case class四、Java对象POJOs五、Arrays、Lists、Map等...

2021-03-21 16:09:48 647

原创 FlinkAPI(二)

一、Transformation操作1,map、flapmap、filterpublic class transTest1_Base { public static void main(String[] args) throws Exception{ StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); env.setParallelism(1)

2021-03-21 15:59:24 77

原创 Flink流处理API(一)

一、创建执行环境Environment1,getExecutionEnvironmentExecutionEnvironment evn = ExecutionEnvironment.getExecutionEnvironment();//此方法做了封装,在本地执行环境下会返回本地的执行环境变量,在集群环境会返回集群环境的变量,env默认并行度设置在flink-conf.yaml内;LocalStreamEnvironment env = StreamExecutionEnvironment.cr

2021-03-21 10:56:07 88

原创 Flink运行时架构

一、运行时组件JobManager:控制应用程序运行的主进程Master,将jobGraph转换成可执行的数据流图(Execution Graph),包含可并发的task;向ResourceManager申请资源(slot),将executionGraph分发到TaskManager上。同时作为中央协调器,如checkpoints操作。应用程序:作业图JobGraph、逻辑数据流图(logical dataflow graph)、打包的类库及其他jar包;TaskManager:工作进程,包含一定

2021-03-20 21:23:25 207

原创 Flink安装部署

一、standalone模式解压缩flink-1.1.0.1-bin-scala_2.12.tgz,进入conf目录。1)修改conf/flink-conf.yaml 文件通用配置:jobmanager.rpc.address:作业管理远程过程调用地址,同时也是默认的jobmanager节点job.manager.rpc.addressjobmanager.heap.size: JVM大小taskmanager.memory.process.size: taskmanager的总内存(包含jv

2021-03-20 17:35:08 277

原创 Flink简单上手wordCount

一、本地环境离线写wordcountpom.xml配置 <dependencies> <dependency> <groupId>org.apache.flink</groupId> //源码是由Scala写的,多线程由akka实现 <artifactId>flink-streaming-java_2.12</artifactId> <version>1.10.1

2021-03-20 11:46:39 134

原创 flink简介

Apache flink是一个框架和分布式处理引擎,用于对无界和有界数据流 进行状态计算。实时数据处理特性:低延迟高吞吐结果的准确和容错性来一条处理一条,还是攒一批(一定量、或者一定时间)再处理,同时满足低延迟、高吞吐、容错。流数据行业:物联网:传感器实时数据采集银行金融业电商、市场营销:数据报表、广告投放电信数据处理演变过程:(1)用户事件+后台处理+存储传统架构下,在数据量变得过大时,吞吐低,响应慢,甚至数据丢失2,离线处理能够处理大批量数据,但是响应慢第一

2021-03-20 09:24:27 149 1

原创 流程控制-选择结构

1,顺序结构2,判断结构(选择结构)package Variable;public class Demo01Choice { public static void main(String[] args){ int score = 10; if(score <0 || score>100){ System.out.println("成绩有误"); }else if(score > 90){

2021-03-13 20:41:08 33

原创 JDK9的JShell工具

9版本开始引入了jshell,java的命令行窗口

2021-03-13 20:17:45 75

原创 方法

package Variable;/*格式: [public|权限] [static] [void|返回类型] 方法名(参数,...){ 方法体 } 注意: 1.方法定义的先后顺序不影响 2.方法不能嵌套 方法定义-》方法调用 */public class Demo11Method { public static void main(String[] args){ farmer(); .

2021-03-13 20:14:46 55

原创 运算符

一、算术运算符+、-、*、/、%、++、--1. “+”运算符package Variable;public class Demo05Plus { public static void main(String[] args){ /* 1.对于数值,就是普通的加法 2.对于char,short、byte会转为int再加 3.对于字符串String,表示字符串连接操作; 与数字连接也是变为字符串。.

2021-03-13 20:02:31 89

原创 数据类型转换(强制+自动)

一、自动转换(隐式转换)1.特点:代码不需特殊处理,自动完成转换2.规则:数据范围由小到大public class Demo3Variable { public static void main(String[] args){ System.out.println(1024);//默认int System.out.println(3.14); //默认double //数据类型自动将int转为 long long num

2021-03-13 16:00:12 123

原创 基本数据类型

4类8种整数型:byte、int、short、long浮点型:float、double字符型:char布尔型:booleanbyte 1Byte -128-127short 2Bint 4Blong 8Byte -2^63 ~ 2^63-1float 4Bdouble 8Bchar 2Bboolean 1Byte注意:浮点只是近似值,无法表示1/3浮点类型默认是double,使用float,加f,1.2f字符串是引用类型...

2021-03-13 12:42:11 39

原创 java常量和变量的使用

/*常量:程序运行期间,固定不变的量常量分类:1,字符串常量2,整数常量3,浮点数常量4,字符常量:'a'、'b'5,布尔常量:true、false6,空常量:null*/

2021-03-13 12:30:00 86

原创 jdk、jre、jvm

1、java语言跨平台性运行环境,不区分操作系统,java代码运行在jvm上,运行时调用各自版本的jvm(win、linux、mac)2、JRE:java程序运行环境,包含jvm和运行时需要的核心类库3、JDK:java程序开发工具包,包含jre和开发人员使用的工具。,如编译器。...

2021-03-13 12:26:42 37

原创 计算机存储单位

2021-03-13 11:25:29 61

原创 二进制与十进制间的转换

@TOC二进制与十进制间的转换

2021-03-13 11:19:25 54

原创 hive优化

大表拆小表灵活运用临时表、分区表、外部表、桶表;sql语句对于复杂的sql语句 分解为多个简单sql语句;join语句先过滤,再关联合理设置map和reduce的个数怎么设置map的个数: 一个分片就是一个块,一个maptask源码里面有FileInputFormat类splitsize方法Math.max(min_size,Math.min(max_size,block_size));min_size默认参数值是0Mmax_size默认参数值是256Mblock_size..

2020-05-09 15:26:12 106

原创 从JVM角度看MapReduce运行过程及运行过程中可调优的选项

job提交后,需根据参数启动Mapper、Reducer任务,–那么Map task 的个数怎么设置如果Map task过多,即每个任务处理一小部分数据并生成一个中间文件,将引起IO过多,文件过多;如果Map task过少,则并行度过低,不能有效利用集群资源,处理时间长;影响Map task个数的因素有三个:(1)读取的文件个数:默认情况下一个文件起始会启动一个map task但是当有许多小文件时,如每个文件5M,单独启动一个task消耗过大对于hive可通过设置hive参数将低于128M的..

2020-05-09 10:44:03 328

原创 scala集合的一些操作符号

/*集合的一些操作符号:col :+ elem 将元素添加到集合尾部 Seqcol +: elem 将元素添加到集合头部 Seqcol + elem 将元素添加到集合尾部 Set、Mapcol + (elem1,elem2) 将其它集合添加到集合尾部 Set、Mapcol - elem 将元素从集合中去除 Set、Map、ArrayBufferco...

2020-04-21 14:37:15 342

原创 Scala偏函数、执行操作系统命令、提取器unapply方法

1.偏函数偏函数是PartialFunction[A,B]类的一个实例,其内包含两个方法apply()/isDefineAt(),在某些场景下对需求并不明确,对于明确的部分通过case 表达式指定,不明确部分先保留,在取值时通过isDefineAt()判断是否存在。object Score extends App { val getStudentgrade: PartialFunction...

2020-04-21 10:35:01 117

原创 文件操作实战

import scala.io.Source//文件遍历object Score extends App { //读文件 val source = Source.fromFile("c://test.txt","UTF-8") //BufferedSource对象 val lines = source.getLines() //Iterator[String] lines.t...

2020-04-20 15:31:18 177

原创 scala的继承层级

scala最顶端两个trait是Nothing 和 Null ,Null trait唯一对象是null;其次是继承Nothing trait的Any类Any类定义了isInstanceOf和asInstanceOf等方法,以及equals、hashCode等对象方法,类似于java的Object类AnyRef类继承Any,增加了多线程方法,如wait,notify、synchronized等...

2020-04-20 15:28:00 117

原创 重写field的提前定义

//new一个子类的过程:子类构造函数调用父类构造函数,父类field初始化后,再初始化子类的object Score extends App { class Student { val classNumber : Int = 10 //classScores的初始化依赖于classNumber val classScores: Array[Int] = new Ar...

2020-04-20 15:21:35 96

原创 扩大内部类的作用域

一般来讲内部类的作用域只在外部类包围的范围内,即内部类属于实例化对象:举例:class OuterClass{ class Student(val name: String){} //ArrayBuffer[Student] 中的Student类是对象内部类,即区分c1.Student类型和c2.Student类型 val students = new ArrayBu...

2020-04-20 14:30:44 213

原创 多维数组、Tuple拉练操作、运行java代码

//二维 val doubleArray = Array.ofDim[Int](3,4) doubleArray(0)(0) = 2 //不规则多维数组 val multiDimArr = new Array[Array[Int]](3) multiDimArr(0) = Array(3,4,5) multiDimArr(1) = Array(3,7,9,0,1)...

2020-04-20 14:20:36 130

原创 scala跳出循环的3种方式

1.使用boolean变量val flag = truevar res =0var i = 0while(flag){ res+=n n+=1 if(n ==5){ flag=false }}for( i<- 0 until 10 if flag){ res += i if(i==4) flag =false}2. 使用returndef add()...

2020-04-20 13:58:30 286

原创 Scala Actor

scala的Actor类似于java中的多线程编程,scala中的Actor尽可能的避免锁和共享状态,从而避免多线程并发时出现资源争夺的情况,进而提升多线程编程的性能。spark中使用的分布式多线程框架为Akka,核心是actor。1. actor的创建、启动和消息收发scala提供了Actor trait用于多线程编程,类似于java中的Thread和Runnable,通过实现Actor ...

2020-04-20 13:32:58 138

原创 Scala的隐式转换

scala隐式转换可以将某种类型的对象转换成其他类型的对象。核心在于隐式转换函数:implicit conversion function。隐式转换函数只要在编写的程序内引入,就会被自动调用。scala会根据隐式转换函数的签名,在程序中使用到隐式转换函数接收的参数类型定义的对象时,会自动将其传入隐式转换函数,并转换为另外一种类型的对象并返回。隐式转换函数由scala自动调用,其命名不影响使用...

2020-04-20 13:29:24 108

xxljob源码解析.docx

xxljob源码解析.docx

2021-04-06

一张图看懂HBase.pdf

a picture understand hbase, contain hbase store model 、 phycial store structure

2020-04-14

空空如也

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

TA关注的人

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