自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 收藏
  • 关注

原创 Flume自定义拦截器的编写

我们Source中读到的数据往往会被分为几个不同的日志种类 然后通过Sink发送到不同的节点去进行处理 。 那么对于同一个Source中读到的不同的数据 我们往往根据读到的数据中的一些特定的字段值或者其他的特征值 来将他们区分为不同的日志种类 在Flume中我们需要自定义拦截器,然后通过ChannelSelector(Channel选择器)来将同一个Source中的不同类型的日志数据 进行一...

2020-04-25 13:23:27 459

原创 MySql和Hive的安装

先来安装MySql的服务端sudo apt-get install mysql-server在安装过程中会弹出窗口输入root密码和输入root确认,建议不要设置太复杂,123456即可。首先将HIve的安装包发送到安装Hive的机器上(使用一台机器装Hive即可)再解压到/usr/local目录下 并且重命名为hive(方便操作) 然后修改用户和用户组...

2020-04-01 23:14:12 393

原创 使用Java代码实现HBase中的API

首先导入pom依赖: <dependencies> <!-- https://mvnrepository.com/artifact/junit/junit --> <dependency> <groupId>junit</groupId> <ar...

2020-04-01 16:58:25 223

原创 Ubuntu安装HBase和Zookeeper

先来安装Zookeeper首先使用XFTP工具 将Zookeeper和HBase的压缩包上传到集群的节点上去(hadoop2)将文件上传到集群中的一台节点后 可以使用scp apache-zookeeper-3.5.6-bin.tar.gz jee@hadoop3:/home/jee/software/ 命令将这个文件发送给集群中的另外两台机器在hadoop2中解压Zookeeper压缩...

2020-04-01 16:48:47 522

原创 MapReduce的两个Job任务的连续执行

现有一个需求如下:有三个文件 我们需要统计每个文件中的单词数量 但是格式有一定要求最终格式:jee a.txt-->4 b.txt-->2 c.txt-->2前面是单词中间隔一个\t 后面是每个文件中包含该单词的数量 不同文件名用一个空格隔开我们可以这样实现 使用两次的map-reduce 第一次map-reduce输入 jee--a.txt 4 这种格...

2020-03-28 18:07:53 1622

原创 MapReduce的ReduceJoin和MapJoin

Join在SQL中就表示两张或多张表的连接,在MapReduce中 也可能存在这种连接,只不过是文件间的连接,例如下面这种需求:需要合并一下两张表:a表: #id #pid #amount 1001 01 1 1002 02 2 1003 03 3 1004 01 4 1005 02 5 1006 03 6b表: #pid #pname 01 小米 02 华为 0...

2020-03-28 16:33:27 218

原创 MapReduce的自定义比较器

自定义比较器 GroupingComparator 其实就是自己定义MapReduce的比较规则 : 在Map任务完成后 进入shuffle阶段 会根据MR默认的比较规则 将Map任务输出的key-value值,根据他们key值的不同 将相同的key分为一组。 这也是为什么Reduce任务中 reduce方法的参数是一个key和一个迭代器的value 。 就是根据默认的比较器将key值相等的...

2020-03-26 12:14:18 459

原创 自定义的InputFormat和自定义分区

用一个案例来讲述怎样自定义实现InputFormat和OutputFormat需求:将多个小文件合并成一个SequenceFile文件(SequenceFile文件是Hadoop用来存储二进制形式的key-value对的文件格式,SequenceFile里面存储着多个文件,存储的形式为文件路径+名称为key,文件内容为value)...

2020-03-23 23:41:30 212

原创 编写MapReduce中的wordcount的jar包和实现实体类在Hadoop中的序列化

wordcount是MapReduce中最经典的一个案例 就是简单的统计一个文件中单词的个数下面我们使用Java代码 编写一个一样功能的jar包,然后可以把这个jar包上传到Hadoop中 功能和wordcount一样先导入依赖: <dependencies> <!-- https://mvnrepository.com/artifact/junit/ju...

2020-03-21 16:49:17 275

原创 编写HDFS的API

在IDEA中创建一个Maven项目 用来编写HDFS的API导入依赖<dependencies> <!-- https://mvnrepository.com/artifact/junit/junit --> <dependency> <groupId>junit</groupId&...

2020-03-18 00:48:45 182

原创 在Windows下的Hadoop环境设置

首先解压Hadoop压缩文件–> 解压到的目录位置必须是全英文并且没有空格然后我们需要在环境变量中配置一下我们的Hadoop环境变量并且在Path中加入%HADOOP_HOME%\bin我们解压的Hadoop中是没有配置我们的Java环境的 我们需要配置一下Java环境在hadoop的解压文件下,编辑hadoop-2.7.6\etc\hadoop\hadoop-env.cmd文...

2020-03-17 21:01:59 234

原创 第一个Vue项目的搭建

我们编写Vue项目会使用到使用Vue的脚手架 vue-clivue-cli 官方提供的一个脚手架,用于快速生成一个 vue 的项目模板;预先定义好的目录结构及基础代码,就好比咱们在创建 Maven 项目时可以选择创建一个骨架项目,这个骨架项目就是脚手架,我们的开发更加的快速;它主要的功能有:统一的目录结构本地调试热部署单元测试集成打包上线我们搭建Vue项目所需要的环境:No...

2020-03-16 00:02:03 299

原创 SpringBoot整合Shiro和Swagger

Shiro是一款十分好用的权限管理框架 可以和SpringBoot整合实现页面的权限控制首先导入pom依赖<!-- https://mvnrepository.com/artifact/org.apache.shiro/shiro-spring --> <dependency> <groupId>org.apache....

2020-03-15 15:43:08 839 2

原创 SpringBoot整合Druid数据源和Mybatis框架

Druid是阿里研发的数据源 自带监控功能 建议使用!在pom文件中引入依赖 <!-- https://mvnrepository.com/artifact/com.alibaba/druid --> <dependency> <groupId>com.alibaba</groupId> ...

2020-03-13 23:39:24 213

原创 Hadoop完全集群模式的完善

我们此前搭建了一个Hadoop完全集群模式 ,这篇博客是对之前这个集群的一点完善完善完全集群模式:*历史服务器  MapReduce 的 JobHistory Server,这是一个独立的服务,可通过 web UI 展示历史作业日志,之所以将其独立出来,是为了减轻 ResourceManager 负担。  JobHistory Server 将会分析作业运行日志,并展示作业的启动时间、结...

2020-03-09 23:51:17 136

原创 Linux配置静态IP(NAT模式)

1、进入vm ware的虚拟网络编辑器2、打开网络和Internet设置3、关闭Windows防火墙和Linux防火墙Linux命令为 service iptables stop(临时关闭) chkconfig iptables off 永久关闭4、进入/etc/sysconfig/network-scripts目录,编辑其中的ifcfg-xxx文件默认是这样子5、...

2020-03-08 13:01:24 618

原创 Hadoop完全集群模式的搭建

1、需要的环境三台一样的机器(只是其中的进程不一样) 其中nameNode和secondaryNode不要放在同一台机器上 而ResourceManager也需要独立放置在一台机器上2、虚拟机相关的配置我们需要三台虚拟机 首先从base机(最原始的系统机)克隆一台虚拟机 然后在这台虚拟机上把基本的配置全都做好 然后再通过这台虚拟机 克隆出另外的两台。基础配置:*修改root密码*s...

2020-03-07 19:56:33 236

原创 Vue 侦听器和计算属性

侦听器 : 可以监听vue实例中data中的元素 当其发生变化的时候,可以进行一系列的操作用法 : 在vue实例中 使用watch属性来定义侦听器, watch属性中的key代表vue实例中的data数据,后面接一个function 函数 在这个数据发生改变的时候 function函数就会执行 function中的参数 val 代表监听的数据改变后的值。例子: 有一个姓和名 还有一个完整的名字...

2020-02-11 18:05:28 195

原创 Vue-router

Vue Router 是 Vue.js 官方的路由管理器。 它是控制Vue页面跳转的工具。 我们再Vue中不再使用a标签进行页面的跳转 而是使用Vue中特有的标签进行 。要想使用Vue-router 我们需要先安装它 。 在项目中安装即可 输入下面的命令npm install vue-router --save-dev我们先去component的目录下新建几个我们需要的组件:内容页:...

2020-02-08 15:10:18 138

原创 Vue axios异步通信和计算属性

Vue中推荐使用axios来进行异步通信 其实使用ajax也是可以做到的 不过既然Vue推荐的是axios 那我们就来使用axios进行一次简单的异步通信把 和ajax很像 熟悉ajax的同学对axios一定也可以快速上手vue中有一个钩子函数 mounted() 它会在开始加载页面的时候执行 这个时候我们如果想取一些数据 肯定是向服务器去取 一般我们都是用异步加载的策略 axios就是这...

2020-02-07 13:01:32 754

原创 Vue自定义标签 component组件

Vue可以自定义组件 在组件中自己设置组件内容注意 :自定义组件的名字不能有大写字母 否则无效!!!自定义组件在script标签中定义 使用Vue.component来定义 它有两个参数,第一个是自定义组件的名字,第二种是一个对象 里面存放一些自定义组件的信息 这个对象中有一些属性 常用的有 : template属性 它表示自定义组件中的内容(HTML代码). props属性 代表...

2020-02-06 23:48:34 1265

原创 Vue的基本语法

牢记:v-model 绑定的是值v-on 绑定的是事件v-bind 绑定的是属性<div id="d1"> <!--v-if v-else-if v-else 代表判断 其条件必须要在Vue对象中定义--> <p v-if="msg === '1'"> msg = 1 </p> <p v-else-...

2020-02-06 21:58:40 128

原创 JavaScript对表单提交的验证

在日常开发中 我们往往使用JavaScript对表单提交进行是否合法的判定,这样我们就可以避免在服务器中再去进行验证 。首先来看JavaScript怎么获取表单元素的值<form action="#" method="post"> <span>姓名:</span><input type="text" name="userName" id...

2020-02-04 21:59:44 581

原创 JavaScript操作Dom元素

Dom树是网页中的文档元素 我们可以操作Dom树来动态的改变网页的Html结构我们要想操作Dom元素 首先得要获取到这个元素的指针 我们一般使用JQuery的选择器去绑定一个Dom对象var a1 = $('# id名') //id选择器 var a2 = $('. 类名') //类选择器获得这个Dom对象的引用后 我们就可以对网页元素进行操作了a1.innerText = '11...

2020-02-04 15:53:37 240

原创 JavaScript的Bom对象

window对象 就是相当于浏览器窗口 老祖宗了 alert方法本名应该叫 window.alert 就连全局变量默认都是存储在window对象中的 所以这个对象算的上是bom对象的老祖宗了navigator对象 导航的意思 封装了浏览器的信息navigator.appName“Netscape”navigator.appVersion“5.0 (Linux; Android 6...

2020-02-03 22:33:33 241

原创 第一个ssm框架的搭建

首先需要准备好要导入的maven依赖(配置资源导出):<dependencies> <!--Junit--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> &...

2020-02-02 12:48:40 257

原创 SpringMVC 中的RestFul风格

RestFul 它只是一种风格 而不是规范。 Restful就是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。传统方式操作资源 :通过不同的参数来实现不同的效果!方法单一,post 和 gethttp://127.0.0.1/item/queryItem.action?id=1 查询,GEThttp://12...

2020-01-30 23:50:26 160

原创 Spring整合Mybatis

使用Spring整合Mybatis 因为Spring是一个大且杂的容器 几乎没有什么框架是它不能整合的 所以我们可以把Mybatis框架整合到Spring中 以后学习了 SpringMVC了 就把SpringMVC也整合到Spring中 这样就是SSM框架了。Spring整合Mybatis有以下几个步骤 我们以前单纯写Mybatis的时候 需要写一个Mybatis-config.xm...

2020-01-29 01:29:01 85

原创 Spring AOP IOC事务

IOC和AOP是Spring最核心的两个点 IOC: 控制反转 AOP :面向切面编程IOC就是我们把定义的类注册到Sping容器中 从而我们再也不需要手动去new一个实例 而是通过Spring容器去取 。Spring容器将会根据配置文件(也可不必写配置文件直接使用注解配置)来创建调用者对象,同时把被调用的对象的实例化对象通过构造函数或者set()方法的形式注入到调用者对象当中。通过IOC容...

2020-01-28 20:59:53 310

原创 动态代理

代理设计模式有一个很简单易懂的例子: 房东要去出租自己的房子 但是他不想自己去打广告吸引租客 他只想在家呆着 就把房子租出去 于是 他就去找了一个租房中介 把这件事交给了中介 让中介帮他把房子租出去,房东什么都不用干 就只需要把房子租出去而已 而中介就需要帮房东打广告 物色租客 写合同 这是中介做的事 而你是一名租客 你想租房子 这个时候 请问你找的是房东还是中介呢? 毫无...

2020-01-28 13:18:23 126

原创 mybatis动态SQL

动态SQL 顾名思义 就是动态的Sql语句 他可以根据情况的不同对应不同的SQL语句 其实很简单<select id="queryUser" resultType="com.Jee.entity.User" parameterType="map"> select * from user <where> <...

2020-01-27 12:16:56 104

原创 Mybatis resultMap中一对多和多对一的关系

假设有两张表 一张学生表和一张教师表 表的具体结构如下:学生表的tid作为外键和教师表的id进行关联 这样学生和教师之间就有了奇妙的联系了。 对于学生来说 他们和教师之间的关系应该是 多对一 的关系 多个学生对应一个教师 但是对于教师而已 他们和学生之间的关系就应该是 一对多 的关系 一个教师对应多个学生嘛 对于这两种情况 我们分别来讲解一下多对一的关系:我们设计实体类的...

2020-01-26 15:15:56 1092 1

原创 Mybatis中导入log4j,外加IDEA解决资源导出的问题

Mybatis配置log4j的基本步骤如下:1:、导入Log4j的依赖<!-- log4j依赖 --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> ...

2020-01-26 13:43:27 296

原创 MyBatis resultMap和别名

Mybatis中 写sql 如果返回类型是一个类的话 我们需要写这个类的全名(类名前面加上包名),这样会显得代码冗余 不好看 我们可以使用别名的方式 给一个类取一个别名 然后直接使用别名即可代替这个类 我们需要在Mybatis-config.xml文件中 添加一个typeAliases标签 在里面设置相应类的别名即可<typeAliases> <typ...

2020-01-24 20:11:10 2239

原创 反射

反射 顾名思义 就是反着来 正常的类创建是 new出来的 而反射是通过一个实例 去反着得到一个类 。如果两个实例都是相同的类 new出来的 那个这两个类反射得到的 Class对象 也是一样的。(hashcode相同)通过反射 我们可以得到这个类中的所有属性(不管是不是private的) 它的所有方法 它的一切 都可以通过反射得到。...

2020-01-23 13:36:38 160

原创 线程池

我们使用多线程时 , 线程经常创建和销毁, 这两个动作 都是消耗资源量很大的 对性能影响较大。 我们可以使用线程池来解决这一问题。 创建好线程 把它们放入线程池中 使用的时候 直接从池里面获取 ,用完后再放入池中 这样就避免线程重复创建和销毁 提高了性能 并且 还方便我们管理线程 我们可以使用线程池 规定线程池的大小 规定最多有多少线程同时运行 线程池的创建如下 :public sta...

2020-01-22 22:13:54 88

原创 多线程概念

线程的5中状态 其实操作系统中就详细的说明过这个问题 线程的五种状态:创建->就绪->运行->阻塞->终止 网上有很多这样的概念图 搜一下就知道了 创建就是你New这个线程的时候 它就处于创建态 ,就绪是调用start方法 它已经具备执行的能力 只等待Cpu的调度了 运行就是CPU调度这个线程 让他执行 当正在运行的时候遇到一些阻塞事件 他就会进入阻塞...

2020-01-22 11:41:33 141

原创 电话号码的字母组合

这是一道我刷题时遇到的一个题目,很简单,输入数字,输出这些数字构成的字符排列组合由图片可以看出。Given a string containing digits from 2-9 inclusive, return all possible letter combinations that the number could represent.A mapping of digit to le...

2020-01-22 10:14:36 138

原创 递归

在LeetCode刷题时遇到了一道用递归解决的题目,我对递归理解不够,将这个试题记录,待日后复习题目:Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.For example, given n = 3, a solution set is...

2020-01-22 10:14:22 94

原创 注意事项

在Code的过程中 发现一些小细节 有些东西要注意 特写此博客提醒自己链表的头结点不能随意更改 如要修改 可以创建一个新的结点作为头结点 连接原本的头结点 再操作原头结点 如 head 是链表的头结点 Node N = new Node(); N.next = head; 这样便可通过操作N这个链表 来操作原来的头结点 head。如果遇到其他要注意事项 后续再添加...

2020-01-22 10:14:17 188

空空如也

空空如也

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

TA关注的人

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