自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spark读写Mongodb,报错MongoDBversion小于 3.2detected

WARNING: MongoDB version < 3.2 detectedERROR partitioner.DefaultMongoPartitioner:----------------------------------------WARNING: MongoDB version < 3.2 detected.--------------------------...

2019-03-14 17:22:29 1132 2

原创 Flink 编译

译自:https://ci.apache.org/projects/flink/flink-docs-release-1.7/flinkDev/building.html编译Flink为了构建Flink,您需要下载源代码。地址:https://github.com/apache/flink此外,您还需要Maven 3和JDK。Flink 至少需要Java 8才能构建。注意:Mave...

2019-01-19 21:58:51 3767 1

原创 Flink配置依赖

译自:https://ci.apache.org/projects/flink/flink-docs-release-1.7/dev/projectsetup/dependencies.html 依赖管理、连接器、库每个Flink应用程序都依赖于一组Flink库。至少,应用程序依赖于Flink API。许多应用程序还依赖于某些连接器库(如Kafka,Cassandra等)。运行Flin...

2019-01-19 18:37:03 10484

原创 HBase 常用优化策略

什么导致HBase性能下降?jvm内存分配和GC回收策略与HBase运行机制相关配置不合理 (hbase-site.xml配置优化)表结构设计不合理以及用户使用方式不合理HBase数据存储过程HBase写入的时候会先写入memstore达到一定大小,会flush到磁盘保存成HFile,当HFile小文件太多会执行compact操作进行合并。对HBase来说,当每一个store,仅仅...

2018-11-06 23:26:46 558

原创 HBase 高级操作之过滤器

过滤器能干什么?HBase为筛选数据提供了一组过滤器,通过过滤器可以在HBase中的数据的多个维度(行,列,版本等)上对数据进行过滤筛选操作。通常来说,通过行建,列来筛选数据的应用场景较多。HBase过滤器分类1.基于行,列,单元值的过滤器1.1----- 基于行的过滤器PrefixFilter :行的前缀匹配PageFilter :基于行的分页1.2------基于列的过...

2018-11-03 22:10:47 853

原创 HBase Java API 基本操作

学完hbase shell API的基本操作之后,可以通过Java API 对hbase基本操作实现一把。基本概念java类对应数据模型HBaseConfigurationHBase配置类HBaseAdminHBase管理Admin类TableHBase Table操作类PutHBase添加操作数据模型GetHBase单个查询操作数据模...

2018-11-03 20:58:48 14693 4

原创 HBase读写流程详细解读

HBase 写入流程:插入一条数据到某个表,因为HBase通过Zookeeper协调Client 首先连接Zookeeper,从Zookeeper中获取表region相关信息。根据要插入的rowkey,获取指定的Regionserver信息,如果是批量提交的话,会把rowkey根据HRegion Location进行分组。当得到了需要访问的Regionserver之后,Client,会向对...

2018-11-03 01:10:00 10156 7

原创 HBase shell基本命令

获得某一个命令的详细信息help ‘status’hbase(main):006:0> help 'status'Show cluster status. Can be 'summary', 'simple', 'detailed', or 'replication'. Thedefault is 'summary'. Examples: hbase> status ...

2018-11-03 00:53:10 252

原创 HBase简介,基本组成,基础架构

hbasehbase 是什么? 由哪些模块构成hbase的优缺点以及应用场景hbase和关系型数据库的区别Hbase 简介Hbase是一个分布式的,面向列的开源数据库Hbase在Hadoop之上提供类似于BigTable的能力Hbase不同于一般的关系型数据库,它适合存储非结构化的数据BigTable是什么?bigtable 是基于google 的GFS的面向列的...

2018-11-01 23:35:22 3280 1

原创 常见redis面试题目

1 什么是redis? Redis 是一个基于内存的高性能key-value数据库。 (有空再补充,有理解错误或不足欢迎指正) 2 Reids的特点 Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可...

2018-10-23 15:24:04 155

原创 B树,B+树,红黑树 数据库常见面试题

Q0.数据库索引有哪些,优缺点?hash索引和B+树索引hash索引等值查询效率高,但是不能排序,因此不能进行范围查询B+树索引数据有序,能够进行范围查询 Q1.为什么不用二叉查找树作为数据库索引?二叉查找树,查找到指定数据,效率其实很高logn。但是数据库索引文件有可能很大,关系型数据存储了上亿条数据,索引文件大则上G,不可能全部放入内存中,而是需要的时候换入内存,方式...

2018-10-11 15:47:19 8933 1

转载 (转)大厂总结的前200页Java面试题都在这里了

 唐尤华 JAVA葵花宝典 基本概念 操作系统中 heap 和 stack 的区别 什么是基于注解的切面实现 什么是 对象/关系 映射集成模块 什么是 Java 的反射机制 什么是 ACID BS与CS的联系与区别 Cookie 和 Session的区别 fail-fast 与 fail-safe 机制有什么区别...

2018-10-11 10:27:15 251

转载 十大经典排序算法动图图解

转载:http://web.jobbole.com/87968/0、排序算法说明0.1 排序的定义对一序列对象根据某个关键字进行排序。0.2 术语说明稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面; 不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面; 内排序:所有排序操作都在内存中完成; 外排序:由于数据太大,因此把数据放在磁盘中,而排序通...

2018-09-30 16:27:13 16588 10

原创 HDFS介绍以及Java API实战

HDFS文件系统介绍 Hadoop提供的操作HDFS的api接口是以FileSystem为基础的,在该类中提供一系列操作文件的方法,比如:文件上传copyFromLocalFile方法,创建文件create方法,删除文件delete方法等。该类的全称为org.apache.hadoop.fs.FileSystem。主要的子类有:DistributedFileSystem, WebHdfsF...

2018-09-30 15:57:34 618

原创 hadoop FileSystem shell 详解

hdfs命令是hadoop提供的操作HDFS分布式文件系统的shell命令客户端,我们可以通过该命令对分布式文件系统进行文件的增删查操作,也可以通过该命令获取到一些hadoop的相关配置信息,而且我们启动hdfs相关服务进程都是通过该命令进行的。   hdfs命令主要分为两类,一类是用户命令:dfs, fsck等,一类是管理员命令:dfsadmin,namenode,datanode等。  ...

2018-09-30 15:46:46 274

原创 java执行linux和windows脚本工具类

我们有时候会在java代码中,去执行一个linux shell脚本或者windows触发执行一个.bat脚本本文章,会写一个通用的脚本工具类,通过这个工具类,可以在java代码中,调用linux shell脚本,或者window .bat脚本。 比如我们数据平台,有一个数据分析工具,当数据分析工程师,通过我们的工具,配置了某一个数据分析任务,后台的injector进程会监测到这个j...

2018-09-30 12:24:45 1872

转载 hive修改表结构&表属性

0x01:重命名表1 ALTER TABLE table_name RENAME TO new_table_name; 上面这个命令可以重命名表,数据所在的位置和分区都没有改变。0x02:改变列名/类型/位置/注释1 ALTER TABLE table_name CHANGE 2 [CLOUMN] col_old_name col_new_name colum...

2018-09-18 17:59:47 16731 1

原创 经典sql题目(使用窗口函数解决)

很多同学可能对窗口函数,但是他确实已经出现在了sqlserver,oracle,mysql 等关系型数据库中以及hive ,presto等数仓中。使用 窗口函数确实能够为我们解决很多sql难题。下面我通过一些经典的sql面试题,讲解如何通过窗口函数,解决。 1.用SQL选出每个人成绩的最高的前两条纪录原表记录:zs,math,75zs,chinese,81lisi,ch...

2018-09-18 15:01:24 8341

原创 设计模式----单例设计模式

单例设计模式github :   https://github.com/zhang-shoukang/design-pattern单例设计模式在面试的被问到的几率太大了,大多数问的都是,你能说粗来多少种单例设计模式。如果你只能说出来懒汉式,饿汉式,估计面试官对你也就彻底失望了。如果你能说出来四五种,那估计面试官对你印象还不错。但是如果你能说出来七八种,那估计这次面试就妥了。...

2018-09-17 16:32:14 141

原创 设计模式----装饰设计模式

来源:公众号轻文社我觉得学设计模式,首先明白是什么?最终目标是学会怎么用到实际项目中。github: https://github.com/zhang-shoukang/design-pattern装饰设计模式 1.是什么?装饰设计模式:顾名思义,装饰模式就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例。...

2018-09-17 16:00:36 315

原创 String、StringBuffer、StringBuilder的区别,理解String不变性

都是final类,不可以被继承 String是字符串常量;StringBuffer,StringBuilder是字符串变量 String长度是不可变的;StringBuffer,StringBuilder长度是可变的 StringBuffer是线程安全的;StringBuilder不是线程安全的。StringBuilder比StringBuffer快 String不变性的理解: ...

2018-09-17 15:01:10 541

原创 设计模式----简单工厂&工厂方法模式&抽象工厂模式

我觉得学设计模式,首先明白是什么?最终目标是学会怎么用到实际项目中。github:  https://github.com/zhang-shoukang/design-pattern简单工厂模式 1. 是什么?工厂对象决定创建出哪一种产品类的实例,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单的来说,就是建立一个工...

2018-09-17 00:15:41 264 1

原创 彻底搞懂java反射机制

是什么?(概念) 为什么?(java中为什么需要这种机制,它可以解决什么问题) 可以干什么?(场景分析) 怎么干? (卷起袖子撸) 总结 1. 是什么?通俗的讲就是反射可以在运行时根据指定的类名获得类的信息。(Java 反射机制是在运行状态中,对于任意一个类,都能够获得这个类的所有属性和方法,对于任意一个对象都能够调用它的任意一个属性和方法。这种在运行时动态的获取信息以及动态...

2018-09-16 01:01:47 370

原创 彻底搞懂Class.getResource和ClassLoader.getResource的区别和底层原理

一案例驱动 二源码分析 三类加载器ClassLoader 四总结 五参考 一案例驱动最近加载文件的时候遇到了一个问题,很有意思! 具体看下面案例代码public class TestClassLoader { public static void main(String[] args) { System.out.println(TestClassLo...

2018-09-14 18:18:19 75990 8

原创 阿里云三台节点,搭建完全分布式hadoop集群,超简单

完全分布式的安装    1、集群规划            角色分配  NODE-47 NODE-101      NODE-106 HDFS Namenode Datanode SecondaryNamenode Datanode Datanode YARN Nodemanager ...

2018-09-13 18:28:36 9638 13

原创 云服务搭建hadoop集群 ,往hdfs文件系统中put文件的时候报错0 nodes instead of minReplication (=1).  There are 3 datanode(s)

报错信息:put: File /test/README.txt._COPYING_ could only be replicated to 0 nodes instead of minReplication (=1).  There are 3 datanode(s) running and 3 node(s) are excluded in this operation. 原因:...

2018-09-13 18:25:19 970

原创 String.split(),StringTokenizer,StringUtils.split()的源码分析与性能比较

他们都是用来对字符串进行切割 String.split():从jdk1.4开始,通过正则表达式进行字符串的匹配切割,有可能会抛出 PatternSyntaxException异常,返回的是切割之后的字符串数组。String 的split 有两个重载的方法分别是 public String[] split(String regex, int limit) { ...

2018-09-13 12:45:26 1061

转载 equals 和 hashCode 到底有什么联系?一文告诉你!

转载:http://www.cnblogs.com/kismetv/p/7191736.html写在前面Java的基类Object提供了一些方法,其中equals()方法用于判断两个对象是否相等,hashCode()方法用于计算对象的哈希码。equals()和hashCode()都不是final方法,都可以被重写(overwrite)。本文介绍了2种方法在使用和重写时,一些需要注意的问...

2018-09-13 11:33:46 126

转载 常见大数据和空间面试题

过滤100亿黑名单题目假设有100亿个URL的黑名单,每个URL最多占用64B,设计一个过滤系统,判断某条URL是否在黑名单里。要求不高于万分之一的判断失误率;额外内存不超过30GB答案100亿个64B的URL需要640GB的内存,显然直接存哈希表不合理。考虑布隆过滤器,假设有一个长度为m的bit类型数组,如图所示:输入阶段:有k个哈希函数,函数的输出域S大于或等于...

2018-08-28 19:00:42 137

原创 kafka 启动开始生产数据 WARN Error while fetching metadata with correlation id 39 :

可能的情况:1. 先启动kafkaserver  后启动的zookeeper     正确方式,先启动zk ,后启动kafkaserver2. 添加配置在kafka-server 中 listeners=PLAINTEXT://localhost:9092 ############################# Socket Server Settings ############...

2018-08-09 17:12:18 4788

原创 hive添加分区报错 mismatched input 'add' expecting KW_EXCHANGE near 'table' in

It's not exactly a bug, just a side effect of Open Source when it's done by a motley crew of people all around the world with no "product owner" and no incentives to use a common programming style (or...

2018-08-06 11:47:28 11212

原创 算法—输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示

输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示!  明确几点:计算机中数据存储形式位二进制位。正数以原码形式存储负数以补码形式存储int类型数据,占4个字节,一个字节8位,所以int类型占32个二进制位。比如:9的原码位     00001001  完整形式为00000000 00000000 00000000 00001001对于负数求二进制位...

2018-07-24 20:12:57 2257 1

原创 算法—输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分, 并保证奇数和奇数,偶数和偶数之间的相对位置不变

题目—:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分  思路:1.明确了题目需求,使得奇数位于左边,偶数位于右边;当左边的元素位奇数,继续;当右边元素为偶数,继续;当这两个条件同时都不满足,也就是左边为偶数,右边为奇数,那么就调换两个元素位置。考虑使用位运算,奇数&1必然=1,偶数&amp...

2018-07-24 19:59:10 7924 1

原创 算法—青蛙跳台阶问题汇总

1. 第一题(引子):输出菲波那切数列的第N项。斐波那契数列含义(百度百科):指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*) 递归方式: public static int fibnacci(int n){ ...

2018-07-21 20:13:08 23554 15

原创 算法—100!100阶乘后面末尾有多少个0

啥是阶乘?阶乘就是从1开始一直到那个数的所有数据相乘,比如100!=1*2*3*4*5...*97*98*99*100 问题分析:100!末尾想要产生0,那么必然两个数相乘为0,比如2*5,4*5,6*5。。。总之一定要有5,那只需要看1~100中间可以分解出多少个5就可以了。看他相乘的数,中间有多少个5,比如5,10,15,20,25,30,35,40,45 。。。10...

2018-07-20 11:04:14 9001

原创 java8 stream中 forEach和 forEachOrdered 当parallel时候执行过程&安全问题深入理解

直观来看,一般都知道,一个是不按照顺序输出,一个按照顺序输出。那当stream加入了parallel修饰的时候,会怎么处理呢?先来看一个例子:Stream.of("AAA,","BBB,","CCC,","DDD,").parallel().forEach(System.out::print);System.out.println("\n_____________________________...

2018-06-22 14:47:47 6000

原创 java8 stream pipelines中 skip 和 limit 执行过程深入理解

我们现在看两个问题:Stream.of(1,2,3,4,5) .peek(x->System.out.print("\nA"+x)) .limit(3) .peek(x->System.out.print("B"+x)) .forEach(x->System.out.print("C"+x));输出为:A1B1C1A...

2018-06-20 13:14:07 4368

原创 使用Joda-Time 处理时间真的好方便!!!

既然无法摆脱时间,为何不设法简化时间处理?https://www.ibm.com/developerworks/cn/java/j-jodatime.htmlimport org.joda.time.DateTime;import java.util.Calendar;import java.util.Date;public class JodaTimeTest { public ...

2018-05-18 16:55:06 1439 1

转载 Java并发编程:volatile关键字解析

转载自:http://www.cnblogs.com/dolphin0520/p/3920373.html volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。  volatile关键字虽然从字面上理解起来比较简单,但是要

2018-01-17 17:28:34 327

原创 insert on dumplicate update 的时候 如果主键相同update的时候,update的内容变为1

insert  on dumplicate update 的时候 如果主键相同update的时候,update的内容变为1 update的多个内容 之间 是使用逗号分隔的。。。而不是andmysql> insert into `200702` (`domain`, `2nd_domain`, `tld`, `query_ns1`, `query_ns2`, `report_da

2018-01-10 19:05:35 2872

空空如也

空空如也

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

TA关注的人

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