- 博客(120)
- 收藏
- 关注
原创 JobPriority
JobPriority.java定义job的优先级,有几种优先级yarn能够对不同的优先级做出反应当前hadoop有以下几种枚举值@InterfaceAudience.Public@InterfaceStability.Evolvingpublic enum JobPriority { VERY_HIGH, HIGH, NORMAL, LOW, VERY_LOW, DEFAULT, UNDEFINED_PRIORITY;}...
2021-04-13 22:30:11 190
原创 Tool.java
概述1、工具类接口,该接口能够被运行,根据设定的参数值int run(String[] args)提供运行方法Tool.javapackage com.ruanwenfu.base;/** * 工具类接口 * 可以配置 并且可以运行 */public interface Tool extends Configurable{ int run(String[] args) throws Exception;}...
2021-04-12 23:07:00 170
原创 Configured.java
概述1、配置类,提供了设置配置以及获取配置的方法Configured.javapackage com.ruanwenfu.base;import com.ruanwenfu.InterfaceAudience;import com.ruanwenfu.InterfaceStability;/** * 可配置类 */@InterfaceAudience.Public@InterfaceStability.Stablepublic class Configured implements
2021-04-12 22:57:05 195
原创 Configurable.java
概述1、可配置接口,实现该接口的实现类都需要具备配置方法2、提供以下方法void setConf(Configuration conf)配置设置Configuation getConf()获取配置方法Configurable.javapackage com.ruanwenfu.base;/** * 可配置接口,实现该类的实现类都可以配置 * 1、可配置 * 2、可以返回配置信息 */public interface Configurable { /**
2021-04-12 22:38:16 191
原创 InterfaceStability.java
概述1、用于注释接口的稳定性InterfaceStability.javapackage com.ruanwenfu;import java.lang.annotation.Documented;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;public class InterfaceStability { @Documented @Retention(Re
2021-04-12 22:15:06 94
原创 InterfaceAudience.java
总结1、注解可以作为另外一个类的成员属性,类似于内部类。2、通过一个类将具有类似功能的注解组织起来3、InterfaceAudience.java(接口观众类)的作用,因为java自身的权限访问控制比较严格,不符合访问控制的语法将会导致报错。hadoop中的这个类相当于是从应用层面对访问做的一个控制4、使用该类中的注解时,不需要实例化该类,可以直接使用代码InterfaceAudience.javapackage com.ruanwenfu;import java.lang.annotat
2021-04-09 01:31:25 198
原创 Java注解(Annotation)
Java注解大纲类之间的关系相关的类Annotation.javaElementType.javaRetentionPolicy.java自定义AnnotationAnnotation的作用大纲类之间的关系相关的类Annotation.javapackage java.lang.annotation;public interface Annotation { boolean equals(Object obj); int hashCode(); String t
2021-04-09 01:16:27 114
原创 hive:大数据最重要的一部分
文章目录概述hive 版本hive安装基本命令表结构内部表和外部表分区表分区表的作用是对数据进行分类(partition)建表语句加载数据每一个分区在在HDFS上对应一个目录在建立分区表的时候,分区字段在原始数据中要求不存在,而是在加载数据的时候手动指定如果手动在HDFS上新建了一个目录作为分区,那么需要在Hive中添加这个分区:(相当于添加元数据到hive,分区的目录要符合标准)删除分区修改分区...
2020-11-24 00:01:21 319
原创 0204 hadoop-HDFS文件上传工具配置
如果每次都需要通过代码传输局十分麻烦,通过工具可以连接到hdfs进行上传下载操作工具名1、安装HDFS+Explorer+Installer.msi如果在安装中报错:缺少xxx.NET,就安装NDP452-KB2901954-Web.exe 软件2、打开Cerebrata.AzureExplorer.UI.exe可能需要配置hosts文件文件上传时报错HttpRequestEx...
2020-11-23 23:59:53 451
原创 scala02:编译环境搭建,反编译
安装过程1、安装JDK 1.82、在scala官网上下载windows免安装版本的scala进行解压安装3、把scala的bin目录设置到环境变量当中4、命令行输入 scala 查看是否安装成功命令行编译scalac HelloWorld.scala,编译产生字节码文件scala HelloWorld.scala 运行scala程序反编译工具的使用直接点击打开jd-gui.e...
2020-11-23 23:59:27 206
原创 scala04:变量
变量定义变量注意定义常量lazy懒加载定义变量实际开发中,val用得比较多,更加安全定义变量不指定类型的会会根据初始值自动推断var 变量名 = 初始化值var 变量名: 数据类型 = 初始化值注意(1)定义变量的时候需要初始化(2)定义变量的时候可以不指定变量的数据类型,系统会更具变量的初始化值推断变量的数据类型, 例如var a = 1,系统认为a是整型定义常量val ...
2020-11-23 23:59:14 298
原创 springboot02:整合持久层框架mybatis
可以实现0配置文件添加springboot对持久层支持的启步依赖 <!--持久层支持依赖mybatis--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-j...
2020-11-23 23:59:03 165
原创 mybatis03:替换默认的连接池Durid
spring-boot-starter-jdbc默认提供了一个连接池——tomcat jdbc替换成druid连接池1)添加连接池的依赖 <!--springboot使用德鲁伊连接池--> <dependency> <groupId>com.alibaba</groupId> ...
2020-11-23 23:58:48 412
原创 springboot整合freemarker模板引擎
引入启步依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </depen...
2020-11-23 23:58:26 157
原创 flume01:简介,配置,自定义,调优
是什么概述1、Flume是Cloudera公司开发后来贡献给了Apache的一套分布式的、可靠的、简单且灵活的用于进行日志的收集(collecting)、汇聚(agrregating)和传输(moving)系统2、 Flume的版本:Flume-og:Flume0.X版本。在分布式和线程并发上做的并不好Flume-ng:Flume1.X版本,能够较好的支持线程的并发3、Flume的版本...
2020-11-23 23:58:10 1071
原创 hbase:汇总知识
概述1、HBase是Apache提供的一个基于Hadoop的、开源的、有版本的、分布式的、可扩展的、能够存储大量数据的非关系型数据库(也就是不是通过数据表来存的,基于其他方式)HBase是Doug Cutting在Yahoo工作期间,根据Google的论文The BigTable来实现的,所以HBase和BigTable的设计思想和实现原理一模一样,只是BigTable是用C语言实现的,而HB...
2020-11-23 23:56:07 910
原创 kafka汇总
kafka也是一种消息队列:异步,解耦,削峰生产消费消息队列分类1、Pull to Pull - P2P - 点对点模式市面上绝大部分的消息队列都是点对点模式或者支持点对点模式点对点模式下,数据往往只能被消费一次2、Publish/Subscribe - 发布订阅模式市面上会有较少的队列使用发布订阅模式发布者订阅模式下,数据往往可以被多次消费作用解耦:生产者和消费者之间不会再...
2020-11-23 23:55:34 1009
原创 02 hadoop安装
hadoop安装部署单机模式:只能启动MapReduce伪分布式:能启动HDFS、MapReduce、Yarn的大部分功能伪分布式配置文件完全分布式:能启动Hadoop的所有功能安装hadoop的过程中需要配置的配置文件包括:单机模式:只能启动MapReduce伪分布式:能启动HDFS、MapReduce、Yarn的大部分功能环境centos6关闭防火墙service iptable...
2020-11-23 23:51:42 140
原创 mybatis01:通过mybatis访问mysql数据库
MyBatis概述MyBatis是最近几年非常流行的数据访问层(DAO)框架,简化DAO层的代码编写常见的数据层访问方式比较JDBC每次操作数据库都需要获取连接关闭连接,在大量访问数据库时,频繁的开关连接消耗性能。(性能不好)需要手动编写sql,有学习成本查询出的结果需要手动进行封装到bean(RowMapper)没有缓存处理机制(可以通过创建HashMap实现缓存)sql语句写死...
2020-11-23 23:51:05 329
原创 01 yarn
概述1、YARN(Yet Another Resource Negotiator,迄今另一个资源协调者)是Hadoop2.0中提供一套用于进行资源管理和任务调度的框架。2、YARN产生的原因:内因:在Hadoop1.0中,每一个MapReduce程序都会拆分出很多个MapTask和ReduceTask,JobTracker需要将这些MapTask和ReduceTask分布到不同的TaskT...
2020-11-23 23:50:10 319
原创 关于MySQL中的8个 character_set 变量说明
文章目录一、character_set_client二、character_set_connection三、character_set_database四、character_set_filesystem五、character_set_results六、character_set_server七、character_set_system八、character_sets_dir那怎么多字符集,我们关...
2020-11-23 23:49:54 2913
原创 MySQL中character set与collation
每个character set会对应一定数量的collation字符比对方法。查看方法是在MySQL的Console下输入:show collation;collation名字的规则例如:utf8_danish_cici是case insensitive的缩写,cs是case sensitive的缩写。即,指定大小写是否敏感。utf8_bin是将字符串中的每一个字符用二进制数据存储,区...
2020-11-23 23:49:44 135
原创 0102 hadoop-配置文件,配置参数
hdfs-site.xml配置项配置说明默认值修改值dfs.blocksize配置块大小128Mcore-site.xml配置项配置说明默认值配置说明hadoop.tmp.dirnamenode元数据存储目录/tmp/home/software/hadoop-2.7.1/tmpfs.checkpoint.sizeedit...
2020-11-23 23:49:27 97
原创 21 Mapreduce中的join操作
背景类似于sql语句中的join,两张表之间有关系,需要进行联合查询的场景订单表:1001 20170710 4 21002 20170710 3 1001003 20170710 2 401004 20170711 2 231005 20170823 4 551006 20170824 3 201007 20170825 2 31008 20170826 4 231009 ...
2020-11-23 23:49:04 87
原创 java基础03:静态导入
文章目录核心jdk1.5新特性核心使用静态导入的方式导入方法时,会优先加载package enum1;import static java.lang.Math.*;public class test03 { public static void main(String[] args) { System.out.println(Math.random()); ...
2020-11-23 23:48:54 62
原创 单例设计模式
概述在运行期间,一个类只有一个实例,这种模式叫做单例模式n种实现单例模式的写法饿汉式优点:线程安全、粗暴缺点:没有lazing loading构造方法私有化,不允许外界创建通过静态方法返回单例对象类加载时就初始化单例对象public class Singleton { private static Singleton instance = new Singleton()...
2020-11-23 23:48:47 73
原创 java基础01:枚举类
文章目录概述关于枚举类的几个关键点枚举类常用API参考定义一个枚举类型枚举和switch枚举类的构造方法枚举类的成员变量,成员方法,静态方法枚举类的抽象方法JDK 1.5新特性概述当一个变量的值可以被一一列举的时候,可以使用枚举类,将值一一的列举出来,并且还可以做限定,防止意料之外的值的出现。怎么理解:枚举除了不能继承以外,差不多可以看成是一个类,所以才叫做枚举类。关于枚举类的几个关键...
2020-11-23 23:48:33 129
原创 java基础02:可变参数
文章目录关键点jdk1.5新特性关键点1、使用可变参数可以接收0到多个参数2、可变参数底层是基于数组来接收参数的3、可变参数只能是方法定义中的最后一个参数package enum1;import java.util.Arrays;public class test02 { public static void main(String[] args) { ...
2020-11-23 23:48:24 53
原创 观察者模式(Observer)
作用当目标的状态发生改变时,会通知观察者,观察者根据自己的情况作出相应的动作。定义定义对象之间的一对多依赖关系,使得每一个对象的状态发生改变时,依赖他的所有对象都会收到通知。其他别名:发布-订阅模式,模型-视图模式,源-监听器模式以及从属者模式。这个发布-订阅模式就很好理解,当订阅者订阅了某系列杂志,当杂志有了新的状态,比如更新了,那么此时就会给所有的订阅者发送一条消息,那么所有的订阅...
2020-11-23 23:48:06 108
原创 08 Mapreduce 序列化
背景现在提供如下文件:13877779999 bj zs 214513766668888 sh ls 102813766668888 sh ls 998713877779999 bj zs 567813544445555 sz ww 1057713877779999 sh zs 214513766668888 sh ls 9987reduce阶段,可能需要根据需求来对不同的字段进...
2020-11-23 23:47:50 343
原创 0202 hadoop- HDFS命令
HDFS Web页面: ip:50070Hadoop fs - put 文件名 /hdfs路径Hadoop fs -get 文件名 本地路径Hadoop fs -rm 文件名
2020-11-23 23:47:41 54
原创 19 mapreduce小文件
小文件的危害1、存储:每一个小文件在HDFS上都会产生一条元数据。如果存储大量的小文件,那么就会产生大量的元数据。如果元数据过多,会大量占用NameNode的内存,并且还会导致元数据的查询效率变低2、计算:每一个小文件在MapReduce中对应一个切片。如果计算大量的小文件,那么就会产生大量的切片,每一个切片会对应一个MapTask(MapTask本质上线程),大量的切片就会产生大量的线程。如...
2020-11-23 23:47:33 109
原创 20 mapreduce推测执行机制
1、推测执行机制实际上是Hadoop提供的一种针对慢任务的优化方法: 当出现慢任务的时候,Hadoop会将这个慢任务复制一份放到其他节点上,两个节点同时执行相同的任务,谁先执行完,那么结果就作为最后的结果,另一个没有执行完的任务就会被kill掉2、慢任务出现的场景:任务分配不均匀机器性能不均等数据倾斜3、优化如果慢任务是由于上述的前两个因素导致的,那么可以通过推测执行机制实现优化。多个...
2020-11-23 23:47:23 442
原创 16 mapreduce_shuffle过程
在map端的shuffle部分1、MapTask调用map方法处理数据,默认情况下是读取一行处理一行。map方法在处理完数据之后不是直接交给reduce阶段,而是写到MapTask自带的缓冲区中- 每一个MapTask都会自带一个缓冲区2、数据在缓冲区中会进行分区、排序,如果指定了Combiner,那么还会进行combine合并。数据在缓冲区中进行排序的时候,将完全杂乱的数据排成有序的数据,这...
2020-11-23 23:47:08 187
原创 14 mapreduce——combiner合并
作用避免任务在reduceTask上的积压。1、因为实际过程中MapTask的数量要远多于ReduceTask的数量,所以所有的计算压力最终都会落到ReduceTask上,所以就要考虑降低ReduceTask的计算压力 - 可以考虑将ReduceTask一部分的计算前移,在MapTask这一端先进行一次汇总,最后ReduceTask再进行最后的汇总2、Combiner的执行逻辑和Reduce...
2020-11-23 23:46:54 223
原创 18 mapreduce 数据倾斜
什么是数据倾斜数据倾斜就是在多个节点之间,处理数据的压力不一样,有点节点比较忙,但是有点节点比较轻松,这个就是发生了数据倾斜。产生的原因1、数据本身具有倾斜的特性 - 数据本身就是不平均的 - 所以数据倾斜不能避免2、map端可能会发生数据倾斜。产生的条件三者缺一不可,分别是:多源输入、输入的文件不可切且大小不均等(从而导致有点mapTask任务重有点轻)—— 三个条件缺一不可,而且Map...
2020-11-23 23:46:41 174
原创 17 自定义输入输出格式以及源码分析
输入格式InputFormat1、InputFormat是MapReduce中提供输入格式化的顶级父类,所有的输入格式化都继承与这个父类。其中提供了两个主要方法:getSplits:规定切片过程createRecordReader:提供输入流来读取切片中的数据2、InputFormat发生在Map之前,在MapTask之前,先对文件切片,然后通过输入IO流读取数据,将读取的数据发送给Map...
2020-11-23 23:46:22 256
原创 12 mapreduce分区——partitioner
分区分区的业务场景分区的几个特点自动义分区类测试案例项目没有加入分区时的编码引入自定义分区修改Driver按月份统计学生的总成绩封装一个modelmapperreducerPartitionerDriver分区的业务场景在平常进行统计的时候,不仅仅会统计一个总数,可能还需要根据不同的维度进行汇总,比如SQL中的group by子句,先对数据进行分组,然后在组内进行汇总整合。所以mapredu...
2020-11-23 23:45:56 662
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人