自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java lambda函数序列化

废话开头最近在封装一个基于mapreduce的分布式计算框架,涉及到了lambda函数的序列化,简单研究了一下jdk自带的lambda函数序列化,这里做一个小小的总结。为了控制篇幅,另外写了一篇文章介绍lambda原理,Java lambda函数原理。1. lambda序列化的使用为了实现lambda的序列化,自然需要将函数式接口继承Serializable。@Func...

2020-02-27 22:16:52 2652 2

原创 Java lambda函数原理

1 定义lambda函数public class TestLambda { public static void testLambda(){ Function<String,Integer> map = s -> s.length(); }}2编译lambda使用命令编译lambda:javac -g TestLambda.jav...

2020-02-27 20:16:44 674

原创 mapreduce内存溢出

1.简单了解mapreduce任务一个mapreduce任务会启动多种进程,首先需要启动一个客户端进程,客户端进程向rm申请资源启动am(MRAppMaster)进程,然后am根据输入分片向rm申请资源启动Map或Reduce进程。所以,当发生内存溢出时,必须先弄清楚是哪个进程内存溢出。2.客户端内存溢出在任务提交阶段的内存溢出,则是客户端内存溢出,在启动任务前,调整环境变量HA...

2020-02-27 16:27:57 1281 1

原创 字节码层面理解--java中的finally是如何执行的

finally一直是java笔试中出现概率较高的知识点,我之前在面试的时候碰到也是很迷糊,今天就通过字节码来看finally最后究竟是怎样执行的,只要明白了原理,面试自然迎刃而解。阅读本文需要耐心,就算不懂字节码,多看看也就明白了,等哪天有空写一篇字节码入门的教程。废话不多说,进入正题。1.try...catch的机制--异常表java中的finally是不可以单独使用的,只能结合try使...

2019-12-24 02:00:37 1346

原创 字节码层面理解java中i++和++i的区别

还是让我们从一道面试题说起吧,代码如下,你知道方法执行最后会输出什么吗?public static void main(String[] args) { int i = 0; for (int j = 0; j < 50; j++) { i = i++; } System.out.println(i);}不卖关子,最后输出结果是0,...

2019-12-22 01:39:49 7953 30

原创 Java子类和父类的初始化执行顺序

有个朋友在CSDN评论区问我,java子类和父类初始化时各个代码块的执行顺序,我本来写好了一大段回复,点击发表回复,结果没有回复成功,我写的评论也不见了。。。csdn的评论区编辑体验本来就不好,然后还有这种回复失败的问题,这体验真是一言难尽,干脆再写一篇文章,从字节码层面来看这个顺序问题,希望可以帮到更多朋友。吐槽完毕,回归正题。要明白子类和父类的初始化执行顺序,只需要知晓以下三点,就不会...

2019-12-22 00:01:42 3995 1

原创 从京东面试题看java类和对象的初始化

京东的一道java面试题,类A和类B的代码如下,问题:A a = new B(); 输出结果及正确的顺序?//A.javapublic class A { static { System.out.println("A init"); } public A() { System.out.println("A Instance"); ...

2019-12-21 20:41:04 1715 3

原创 字节码层面理解枚举类Enum在switch中的使用

1.本文从字节码层面来探究,switch的case变量值为java枚举Enum时,编译器究竟做了什么工作。2.源码如下枚举类Colorpublic enum Color { RED,BLUE,YELLOW}switch中使用Colorpublic class MySwitchTest { int chooseColor(Color c){ ...

2019-12-16 12:10:16 1150

原创 字节码层面理解Switch

1. 源码如下,test(int)方法使用switch语法,根据参数a的值返回不同字符串。public class MySwitchTest { public String test(int a){ switch (a){ case 1: return "a"; case 2: ...

2019-12-16 10:43:48 1058

原创 字节码层面理解java枚举Enum

1.自定义一个枚举类型Color.javapublic enum Color { RED,BLUE,YELLOW}2.javac编译Color.java,生成Color.class。javac的时候记得添加-g选项才会生成局部变量表。javac -g Color.java3.javap反编译Color.class,重定向到Color.txt-v 输出详细信息-...

2019-12-13 22:29:24 1807

原创 Hadoop常用参数、命令笔记

查看压缩文件、普通文件hadoop fs -text filenamehadoop fs -text /user/vsearch/offline/bangxi/il/part-r-02998.snappy | headhadoop fs –cat filename //只能查看未压缩文件kill任务hadoop job -kill-task xxx迁...

2019-09-03 00:36:09 997

原创 HBase常用参数、命令笔记

设置读HBase Mapper多线程数量hbase.mapreduce.multithreadedmapper.threadshbase scanner 打印日志hbase.client.log.scanner.activity //是否打印日志hbase.mapreduce.log.scanner.rowcount //每scan多少条数据打印一次日志hbase...

2019-09-03 00:35:27 999

原创 HADOOP添加第三方jar依赖

每次运行hadoop jar命令时,会重新设置HADOOP_CLASS这个环境变量,并将这个变量的值赋给CLASSPATH,所以,只能通过设置HADOOP_CLASS这个环境变量来添加第三方的依赖,而设置CLASSPATH并不会生效。在MR任务在提交阶段和task运行阶段,主要会遇见两类依赖问题:依赖找不到和依赖冲突。提交阶段:1. 依赖找不到 通常两种解决方案将第三方j...

2019-09-02 17:22:06 2732

原创 决策树算法,如何快速判断美女会不会嫁给你

学习决策树必先了解信息熵上一篇文章讲过,信息熵就是随机事件的不确定性。公式:不太清楚的,可以回头再去看一遍,https://blog.csdn.net/jiandabang/article/details/98690182,学习决策树之前至少需要了解信息熵是什么。通过例子学习决策树假设下表就是通过随机采访多位美女得到的数据,那么如何根据下表的数据,以及自身的条件,以尽量少的...

2019-08-10 23:17:01 1392

原创 信息量、信息熵、条件熵、信息增益

信息量有时候,当你知道某件事情的时候,你可能会说 “这有什么奇怪的啊”,比如,有同事告诉你“明天太阳从东边升起”,这就是说这件事情的信息量比较少。又比如,当你知道明天彩票号码时,你就可能会说 “这个事是真的吗,太不可思议了”,就是说这件事情信息量比较大。从上面的事情就是对一件事情携带信息量的直观感受,那么从数学角度是否可以衡量信息量呢?又或者说有没有某个公式可以衡量信息量呢?我们来...

2019-08-07 20:26:38 1325

原创 机器学习:朴素贝叶斯分类

贝叶斯公式先看条件概率,就是指事件A在事件B发生条件下发生的概率:同理可以推出可以推出 ,该公式就是贝叶斯公式。如何让计算机程序对水果分类1.特征处理(准备数据)生活中人们根据水果的形状、颜色、大小、表面纹路等特征很容易就可以对水果进行正确分类。但是让计算机来做这件事情就不那么容易了。计算机并不能像人一样去识别水果的形状、颜色、大小、表面纹路,所以需要...

2019-07-31 12:51:23 1194

原创 Bulkload找不到分区文件 IllegalArgumentException: Can't read partitions file

问题使用bulkload方式导入数据到hbase时,mapper任务可能会发生找不到分区文件错误错误信息如下:Error: java.lang.IllegalArgumentException: Can't read partitions file at org.apache.hadoop.mapreduce.lib.partition.TotalOrderPartitio...

2019-07-19 16:58:41 2013

原创 HBase BulkLoad 导入大量数据

HBase常用写入数据方式1、使用MapReduce作业中的TableOutputformat类 //context.write(new ImmutableBytesWritable(Bytes.toBytes(rowkey)), put)2、使用客户端API //table.put(put)然而,这些方法并不总是最有效的方法。BulkLoadbulkload方式...

2019-07-19 16:15:14 2845 4

原创 hbase集群合并

四个步骤:1.distcp迁移数据2.恢复hbase元数据hbase hbck3.停止原集群4.将原集群机器加入新的集群hadoop跨集群迁移数据hadoop distcp -m 100 hdfs://hostname:9000/hbase/data/default/* hdfs://hostname:9000/hbase/data/default/hadoop动态添...

2019-03-25 19:36:08 843

原创 HBase RowKey设计和预分区

hbase读写性能优化一般可以从三个方面入手1、hbase服务端读写配置2、hbase客户端配置3、hbase表的设计本文从表设计的rowkey和预分区角度优化hbase读写性能,避免region读写热点问题。一、hbase数据读取方式先了解hbase读取数据方式:1、随机读:通过get方式,指定rowkey获取唯一记录2、局部顺序读(随机读+顺序读):通过scan...

2019-03-25 17:50:24 1540

原创 HBase写入报错:org.apache.hadoop.hbase.RegionTooBusyException: Above memstore limit

大量写请求场景,经常出现以下错误:org.apache.hadoop.hbase.RegionTooBusyException: Above memstore limit xxx memstoreSize=1094171984, blockingMemStoreSize=1073741824原因:一般来说memstore超过hbase.hregion.memstore.flush....

2019-03-21 00:23:06 7659 3

原创 PageRank算法及基于Spark的实现

目录1、PageRank概述2、PageRank原理3、PageRank代数推导论证(稍微有点点复杂,看不是很明白可以略过)4、PageRank分布式实现(Spark)5、PageRank优缺点6、改进“在互联网上,如果一个网页被很多其他网页所链接,就说明它受到普遍的承认和依赖,那么它的排名就很高。”----摘自吴军《数学之美》1、PageRank概述PageR...

2018-11-20 17:30:58 1788

原创 IK分词器 原理分析 源码解析

IK分词器在是一款基于词典和规则的中文分词器。本文讲解的IK分词器是独立于elasticsearch、Lucene、solr,可以直接用在java代码中的部分。关于如何开发es分词插件,后续会有文章介绍。IK分词器的源码:Google Code,直接下载请点击这里。一、两种分词模式IK提供两种分词模式:智能模式和细粒度模式(智能:对应es的IK插件的ik_smart,细粒度:...

2018-10-30 12:01:14 17518 5

原创 elasticsearch 6.2.3 安装IK分词器 及 IK分词器简单使用demo

Ik分词器github,本文参考了该内容。IK分词器与elasticsearch 有版本对应关系,点击这里安装一、安装第一种方式:下载预编译好的IK:https://github.com/medcl/elasticsearch-analysis-ik/releases,解压到你的es安装目录下的plugins目录:{your-es-root}/plugins/第二种方式:...

2018-10-24 11:27:13 1667

空空如也

空空如也

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

TA关注的人

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