自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Reminder的博客

大数据研发

  • 博客(31)
  • 收藏
  • 关注

原创 【JAVA虚拟机】类加载机制案例详解

1.实例:参考部分博客和<java虚拟机>,用案例来说明java虚拟机的类加载过程。class Sing{ private static Sing sg=new Sing(); public static int cou1; public static int cou2=0; public static int cou3=5; public in...

2018-04-07 16:30:20 120

原创 Spark环境搭建-python scala

ubuntu16.04下搭建开发环境1.安装jdk(版本1.8,官网下载)2.下载spark,选择对应的hadoop版本(官网下载)(版本2.4.1)3.下载sbt(版本1.2.8)4.下载scala(版本2.12.8)打算学习基于python的spark开发和基于scala的spark开发,所以配置了两种开发环境,均亲测可用。后续将研究讨论版本匹配问题环境变量的配置如...

2019-04-21 19:27:07 660

原创 面试--上海2

面试问题1.了解哪些大数据组件,单个说明。2.熟悉Scala吗?不熟悉3.熟悉SQL?内连接,左外连接,右外连接的区别4.熟悉Linux命令?基础的,上传文件到hdfs用到的命令。5.Maven用过吗?6.Set和Map的区别?存放值?继承哪些类?实现哪些接口?7.项目。序列化→Json?怎么实现的8.设计题 10个reduce节点,其中9个很快执行完成,有一个执行很慢,怎么优化?数据倾斜?9.论...

2018-04-19 00:34:27 179

原创 面试--上海1

面试题:1.String是基本类型吗?为什么?(具体的实现源码)。2.基本的数据类型(byte,char,short,int,long,boolean,float,double)3.构造函数可以被重写吗?可以被重载吗?重写和重载的区别?4.String类可以被继承吗?5.LinkedHashMap和HashMap源码各个角度分析。6.ArrayList和LinkedList源码各个角度分析。7.多...

2018-04-19 00:27:27 174

原创 [SQL] Char和varChar的区别

1.存储规则char(10),varchar(10),10指的是字符个数而不是字节个数。编码格式:Mysql中要求行定义的长度不能超过65535个字节。Latin1:一个字符占一个字节。最多存放(65535-1-2)/1=65532个字符GBK:一个字符占两个字节。。。。。。UTF8:一个字符占三个字节。。。。。。{-1是指varchar从第二个字节开始存放。    -2是指varchar的前两个...

2018-04-17 16:29:26 868

原创 Java中两个字符串的比较(内存角度)

1.首先来看一下java虚拟机的内存分布:程序计数器:    ①唯一没有OutOfMemoryError情况的区域。    ②线程执行java方发时,记录正在执行的虚拟机字节码指令地址。本地方法栈虚拟机栈    ①java方法执行时都会创建一个栈帧,可以存放局部变量表,操作数,方法出口等信息。    ②主要用于存放局部变量,基本类型的变量,对象的引用(指向另一处内存区域:堆)。堆    ①线程共享...

2018-04-16 21:24:45 468 1

原创 [大数据研发]Hadoop集群搭建详细教程(自行手动搭建)

        Hadoop集群的搭建一是选用商用工具CDH,该工具不必担心各个组件的之间的版本兼容问题,而且配有监控工具(后序介绍)。为了入门或者了解配置文件中各个配置的意思,本文采用传统的搭建方法,建议搜一下各个组件(jdk,hadoop,hive,hbase,zookeeper等之间的版本兼容关系,选择最合适的版本),本文选用jdk1.8,hadoop2.6。1,采用虚拟机centerOS7...

2018-04-12 10:53:22 473

原创 Java多线程

1.java多线程编程一个进程包括操作系统分配的内存空间,包含一个或者多个线程。线程不能独立存在,必须依赖于进程,是进程的一部分。2.线程状态①新建状态②就绪状态        start()方法③运行状态        run()④阻塞状态        sleep(),wait(),获取Synchronized同步锁失败⑤死亡状态        3.创建线程①实现Runable接口class ...

2018-04-12 10:51:50 116

原创 Object类方法

1.object类结构分为以下几种①构造函数②hashcode和equale函数判断对象是否相等。③wait和notify,notifyAll java线程④toString和getClass⑤clone()⑥finalize用于垃圾回收。...

2018-04-12 09:43:39 137

原创 [SQL] MySql存储引擎

数据库管理系统(DBMS)使用数据引擎进行创建,查询,更新和删除数据。不同的存储引擎提供不同的存储机制,索引技巧,锁定水平等。Mysql的核心就是存储引擎。1.查看mysql的存储引擎(版本mysql5.7)show engines;2,几种常用的存储引擎对比支持内容InnodbMyISAM是否支持事务支持ACID事务不支持使用的锁行级锁表级锁是否支持并发支持,采用多版本并发控制(mvcc)不支持...

2018-04-08 11:22:39 130

原创 [SQL] MySQL的索引

1.索引的定义,为什么要使用索引索引是指对列的索引,用以快速找出在某个列中有一特定的值。若不使用索引,则需要从表的第一条记录开始读完整个表,查找出相关的行,花费时间大。给列增加一个索引,就能快速到达一个位置去搜索数据文件,而不必查看所有数据,节省时间。MySQL中的索引的存储类型有两种①B-tree②Hash。HASH索引:利用哈希函数,计算存储地址,检索时不需要向Btree那样,从根节点开始遍历...

2018-04-08 09:57:22 112

原创 数据结构1:红黑树

红黑树是一颗二叉平衡查找树。一般情况下,二叉查找树的操作执行时间为O(lgn),但是,在二叉查找树中为有序的数据后,例如递增的全在右子树上,递减的都在左子树上,就会退化成一个具有n个节点的线性链,运行时间就会变成O(n)。红黑树的出现就会使树变的相对平衡,使之时间复杂度稳定在O(lgn)。使用情况:不断地有数据插入性质:每个节点不是红色就是黑色根节点总是黑色如果节点是红色,则它的子节点必是黑...

2018-04-06 16:15:12 90

原创 数据结构2:B树,B+树,B*树

1.B树即B-Tree(图转载)B树是一种多叉平衡查找树,红黑树是一种二叉平衡查找树,B树的多叉结构使得对于元素数量非常多的情况,树的深度不会像二叉树那么深,保证查询效率。B-Tree是为了磁盘或其他存储设备设计的一种多叉平衡查找树,相比红黑树在降低磁盘I/O方面做得更好,许多数据库都是用B-Tree 和 B*Tree, B+Tree来存储信息。性质:m阶的B树①树中每个节点最多含有m个孩子②除...

2018-04-06 16:04:53 436

原创 shell实用基础命令

1.排序sort(默认按照字符进行排序)-n 按照数字进行排序-r逆序2.搜索数据grep-n 带行号-c 统计多少行-v 不包括[] 正则表达式3.压缩数据①bzip2    bunzip2,bzcat②gzip gunzip,gzcat③zip④compress...

2018-03-30 15:25:49 110

原创 算法4:堆排序

1.堆排序基本思想利用堆(最大堆,最小堆)进行排序,特殊的树形数据结构(完全二叉树)①将一个无序序列构造成一个堆。②输出堆顶元素后,调整剩余元素称为一个新堆。2.复杂度堆排序的主要运行时间耗费在初始构建堆和重建堆时的反复筛选上。构建堆的时间复杂度为o(n),重建堆的时间复杂度为o(nlogn), 堆排序对原始记录的状态不敏感,所以最好,最坏,平均情况的时间复杂度都为o(nlogn)。空间复杂度,有...

2018-03-29 15:09:16 200

原创 HTTP协议

1.基于TCP/IP协议来传递数据。工作于客户端-服务端架构。2.客户端请求消息和服务器响应消息①请求消息:请求行,请求头部,空行,请求数据②响应消息:状态行,消息报头,空行,响应正文3.请求方法4.状态码1**,服务器接收到请求,需要请求者继续执行。2**,成功,操作成功接收并处理。3**,重定向,需要进一步操作。4**,客户端错误。5**,服务器错误。...

2018-03-28 08:48:44 93

原创 大数据研发(4分布式协议):4.1Paxos协议详解

1.定义Paxos算法是基于消息传递的具有高度容错特性的一致性算法,解决分布式一致性的问题。三个角色:proposeracceptorlearners提案(proposal),最终达成一致的value在里面。...

2018-03-27 16:36:24 132

原创 分布式系统搭建

1.IP地址配置(虚拟机)ip地址    主机名 (别名)192.168.166.213 h1192.168.166.190 s1192.168.166.27 s2

2018-03-26 21:50:10 205

原创 分布式协议

1.2pc分为两个阶段:投票表决阶段和提交阶段。①协调者处于init阶段,收到系统的commit请求时,向参与者多播vote-request后转入wait状态(阻塞),当接收到所有参与者的返回消息后,如果其中包含abort(终止)信息,多播global-abort,否则进入commit状态。②参与者处于init状态,接收到协调者的vote-request消息后,发出commit然后进入ready状...

2018-03-20 22:39:31 514

原创 Java new 1:大数据操作

1. BigInteger操作大整数//构造方法public BigInteger (String str);//四则public BigInteger addpublic BigInteger subtractpublic BigInteger multiplypublic BigInteger dividepublic BigInteger maxpublic BigInteg...

2018-03-20 14:44:08 540

原创 大数据研发(2hbase)2.3:hbase读写数据过程

1.读数据流程①zookeeper存放-ROOT-表的起始地址,先从zookeeper中获取-ROOT-表,然后从-ROOT-表中获取.META.的region信息。接着读取.META.的数据,获取用户表的region信息。②根据namespace, 表名, rowkey在meta中找到对应的region信息。③根据获取到的信息,找到该region所在的regionserver。④在regions...

2018-03-18 13:36:31 148

原创 大数据研发(2hbase)2.2:hbase表结构和寻址过程

1.Region是Hbase中分布式存储和负载均衡的最小单元,每个region由以下信息标识:<表明,该region的起始rowkey, 创建时间>2.hbase中的两张特殊的表(存储了hbase中所有region的信息)-root表:记录.META.表的Region信息-meta表:记录用户表的Region信息 ROOT表是一级目录,Meta表为二级目录。当Meta表存储的信息变大时...

2018-03-18 12:39:01 297

原创 大数据研发(3Zookeeper)3.1:Zookeeper分布式协调服务

1.zookeeper在HBase中的作用:充当Hmaster和Hregionserver之间的桥梁①保证任何时候,急群中只有一个Hmaster进程。②实时监控region server的状态,将region server的状态信息实时通知给Hmaster。③存储Hbase目录表(root表)的寻址路口(root标的起始地址)④存储Hbase的schema,包括哪些表,表中的列簇信息等各种元信息(...

2018-03-15 15:27:11 137

原创 大数据研发(2Hbase)2.1:hbase和传统数据库的区别

1.hbase①hbase是一个面向列存储的分布式存储系统,可以实现高性能的并发读写操作,对数据进行透明的切分。②hbase有两个主要概念,row key(行健),column family(列簇)。每个列簇包含多个列。row key 是hbase中记录的唯一标识。③hbase中列可以动态增加。eg:定义user表,然后定义info列簇,user数据可以分为info: name,info: age...

2018-03-15 13:41:35 1742 1

原创 大数据研发(1hadoop)1.1:MapReduce过程

1.Mapreduce原理过程(1)读取hdfs文件,切片并解析成键值对(默认一行产生一个键值对,键对应地址,值为行内容)。(2)每一个键值对调用一次map函数。(3)Combiner,在输出中间结果之前,进行同一map内的键值对合并(具有相同键的键值对进行合并),减少需要传输的中间结果数据量,优化网络数据传输。(4)进行reduce之前,所有的map节点必须全部执行完,设置一个同步障(barri...

2018-03-14 09:26:56 357

原创 算法3:二分查找

1.二分查找前提:数组为有序。步骤:1.找到中间值,将数组分为三部分,a[0,mid-1],a[mid],a[mid+1,high];          2.若等于a[mid], 返回mid;          3.小于a[mid],在a[0,mid-1]中查找;          4.大于a[mid],在a[mid+1,high]中查找;循环或者递归来实现。//循环 public sta...

2018-03-13 17:46:59 144

原创 算法2:归并排序

1.归并排序(两路归并排序)利用归并思想排序,从小集合归并到大集合。步骤:分而治之,每个递归过程设计三个步骤。①分解。吧待排序的n个数分解为两个子序列,每个序列包括n/2个元素②治。把每个子序列进行归并排序,进行递归。③合并。合并两个排序好的子序列。//将数组划分public static int[] mergesort(int []a,int low,int high){ int mi...

2018-03-13 15:40:46 99

原创 Java 集合

1.HashMap(键值对) ①根据key的hashcode存放数据,获取值value=get(key);②访问速度快,但是无顺序。③最多只允许一条记录的key为空, value无限制。④线程不安全,不支持线程同步,允许多个线程同时操作hashmap。2.HashTable(键值对)①不允许数据的key为空, value无限制。②线程安全,支持线程同步,任意时刻只允许一个线程写hashmap。3....

2018-03-13 15:34:44 96

原创 算法1:快速排序

1.快速排序采用分治的思想。数组a[p...r]被划分为两个(可能为空)的子数组,a[p..q-1], a[q+1...r]。第一个数组中元素小于a[p],第二个数组中元素大于a[p]。解决:首先找出p的位置,然后通过递归调用快速排序,对两个子数组进行排序。步骤:1.确定基准元素a[p];          2.从后往前扫描,若遇到小于a[p]的,将此元素赋值给a[low];否则 high--; ...

2018-03-12 15:15:34 141

原创 复习中的java基础(实用)

1.String和StringBuffer的互换String s="abc";//不能把字符串直接赋值给StringBuffer//String to StringBuffer;//方式1StringBuffer b=new StringBuffer(s);//方式2StringBuffer b=new StringBuffer();b.append(s)//StringBuffe...

2018-03-05 16:25:49 251

原创 Hanoi问题详解

1. Hanoi问题(递归解决),可以直接从“左→右”(不相邻)。public static void Hanio(int num, String left,String mid, String right){ if(num==1){ System.out.println("Move 1 from "+ left+"to "+right); ...

2018-03-04 18:51:28 445

空空如也

空空如也

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

TA关注的人

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