自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 归并排序--JAVA

1.归并排序的思想分而治之:将一个大数组均分为两个大小相等的数组(奇数容量下有 1 的差值),然后进行排序的话,时间就从对T = O(n^2)操作变成了2*O((n/2)^2) =2*O((n^2)/4) = O(n^2) / 2 = T / 2,时间缩小了一倍,我们将这个过程循环下去,直到所有数组都被分成一个元素为止,由归纳可得时间为O(n*lgn),之后进行循环有序合并,那么明显时间为O(...

2019-04-28 21:34:03 102

原创 hive 统计一天基站的掉话率

统计一天的基站掉话率:--建表create table cellinfo(record_time string,imei int,cell array<string>,ph_num int,call_num int,drop_num int,duration int,drop_rate int,net_type string,erl...

2019-04-25 15:14:02 318

原创 Hive日期格式转换用法

1.日期函数UNIX时间戳转日期函数: from_unixtime语法:from_unixtime(bigint unixtime[, stringformat])返回值: string说明: 转化UNIX时间戳(从1970-01-0100:00:00 UTC到指定时间的秒数)到当前时区的时间格式举例:hive> select from_unixtime(1323308943,'y...

2019-04-24 19:52:30 487

原创 时间格式 yyyy-MM-dd'T'HH:mm:ss.SSSZ 中的T和Z表示什么

格式模式说明 d月中的某一天。一位数的日期没有前导零。 dd月中的某一天。一位数的日期有一个前导零。 ddd周中某天的缩写名称,在AbbreviatedDayNames中定义。 dddd周中某天的完整名称,在DayNames中定义。 M月份数字。一位数的月份没有前导零。 MM月份数字。一位数的月份有一个前导零。 MMM月份的缩写名称,在Abbr...

2019-04-24 19:49:02 43644

转载 MapReducec执行过程分几个阶段

宏观上MapReduce可以分为以下三个阶段,如下图1所示。阶段1:input/map/partition/sort/spill阶段2:mapper端merge阶段3:reducer端merge/reduce/output1、split阶段:此阶段,每个输入文件被分片输入到map。如一个文件有200M,默认会被分成2片,因为每片的默认最大值和每块的默认值128M...

2019-04-24 18:49:13 8891

原创 Underlying cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException : Communications link fail

连接MySQL数据库出现com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure解决办法1.修改wait_timeout的参数值 查看wait_timeout的值,命令:show global variables like 'wait_timeout'; ...

2019-04-24 13:35:01 8165 3

原创 HIVE体系结构

1、Hive架构与基本组成 下面是Hive的架构图。 图1.1 Hive体系结构Hive的体系结构可以分为以下几部分: (1)用户接口主要有三个:CLI,Client 和 WUI。其中最常用的是CLI,Cli启动的时候,会同时启动一个Hive副本。Client是Hive的客户端,用户连接至Hive Server。在启动 Clien...

2019-04-24 12:22:59 798

转载 HADOOP端口一览表

2019-04-24 12:06:12 796

原创 编程人生

Armstrong曾在CSDN主办的“SDCC 2016中国软件开发者大会”上,幽默地分享了他编程20年来对软件开发的一些思考,他说:“人们总认为产品开发流程是这样:Specify→Build→Test→Sell→$$$,然而实际上却是这样的:Start→???→Product”。为什么他会这么说呢?Armstrong曾在《编程人生》中分享过他在编程习惯上有了两个改变,值得我们开发者借鉴。...

2019-04-22 21:35:33 263

原创 深入一致性哈希(Consistent Hashing)算法原理

深入一致性哈希(Consistent Hashing)算法原理,并附100行代码实现转自:https://my.oschina.net/yaohonv/blog/1610096一致性哈希Consistent HashJava任务调度八年Java开发的感悟:什么才是程序员的立身之本 >>> 本文为实现分布式任务调度系统中用到的一些关键技术点分享——C...

2019-04-22 21:30:58 469 1

原创 秒懂快速排序算法:变种(JAVA)

参考邓俊辉教授的C++代码修改的JAVA版变种快速排序:版本A快速排序:版本B快速排序:快速排序变种的实现: private static void quickSort(int[] array, int low, int high) { int i = low, j = high; while (i < j) { int pivot = array[i...

2019-04-15 21:31:29 273

原创 Hadoop中的各种排序

1:shuffle阶段的排序(部分排序)shuffle阶段的排序可以理解成两部分,一个是对spill进行分区时,由于一个分区包含多个key值,所以要对分区内的<key,value>按照key进行排序,即key值相同的一串<key,value>存放在一起,这样一个partition内按照key值整体有序了。第二部分并不是排序,而是进行merge,merge有两次,一次...

2019-04-14 20:34:00 493

原创 在HDFS-HA的基础上搭建:ResourceManager-HA

在HDFS-HA的基础上搭建:etc/hadoop/mapred-site.xml:<configuration><property><name>mapreduce.framework.name</name><value>yarn</value>classic+lo...

2019-04-11 20:17:44 226

原创 HADOOP 完全分布式搭建

1、node1,2,3,4做免密钥登录2、安装和配置jdk2.1 将node1上的/etc/profile通过网络拷贝到node2、3、4 在node2、3、4上执行. /etc/profile让它生效3、解压hadoop-2.6.5.tar.gz到/opt目录4、在hadoop-env.sh中:主要配置jdk目录 export JAVA_HOME=/usr/java/j...

2019-04-11 20:14:16 132

转载 Hadoop-2.7.3源码分析:MapReduce作业提交源码跟踪

1、提交JobMapReduce程序框架请参考http://blog.csdn.net/chengyuqiang/article/details/72804007@Override public int run(String[] args) throws Exception { //读取配置文件 Configuration conf = getC...

2019-04-11 13:21:14 155

原创 wordcount

package com.bjsxt.mr.wordcount; import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;import or...

2019-04-11 08:49:18 124

原创 hadoop面试题

1、介绍一下Hadoop的框架存储hdfs,计算框架MapReduce,资源管理Yarn2、简单说下HDFS的读写流程a、客户端发送请求,调用DistributedFileSystem API的open方法发送请求到Namenode,获取block的位置信息,因为真正的block是存在Datanode节点上的,而  namenode里存放block位置信息的元数据。b、Name...

2019-04-09 21:38:10 169

原创 mapreduce作业提交流程

a、作业提交client调用Job.waitForCompletion方法,向整个集群提交MapReduce作业(第1步)。新的作业ID(应用ID)由资源管理分配(第2步)。作业的client核实作业的输出,计算输入的split,将作业的资源(包括Jar包,配置文件,split信息)拷贝给HDFS(第3步)。最后,通过调用资源管理器的YarnClient.submitApplication...

2019-04-09 21:31:57 616

原创 mapreduce处理流程

wordcount的处理过程来进行演示mapreduce处理流程如下图:1. 输入分片(input split):在进行map计算之前,mapreduce会根据输入文件计算输入分片(input split),每个输入分片(input split)针对一个map任务,输入分片(input split)存储的并非数据本身,而是一个分片长度和一个记录数据的位置的数组,输入分片(input ...

2019-04-09 21:11:49 1390

原创 mapreduce处理的数据是什么结构的?每个阶段有什么形式?

mapreduce处理的数据的结构:map:(k1,v1)->list(k2,v2)reduce:(k2,list(v2))->list(k3,v3)1、Map阶段的任务处理如下:  1.1 读取HDFS中的文件。每一行解析成一个<k,v>。每一个键值对调用一次map函数。 <0,hello you> <10,hello me&g...

2019-04-09 21:00:07 2004

原创 mapreduce原语是什么?怎么理解?

相同key的键值对为一组调用一次reduce方法,方法内迭代这一组数据进行计算。理解如下示例:数单词游戏:map阶段:reduce阶段:

2019-04-09 19:57:18 505

原创 HDFS架构

NameNode存储元数据,相应客户端的请求元数据存储:fsimage+edits log工作时,数据在哪儿?加载到内存元数据存储哪些信息?文件名称大小权限时间block信息block位置信息(不存储)通过dataNode的心跳上报上来,动态收集。DataNode存储block信息存储模型:block块按照字节线性切分block块分散存...

2019-04-07 20:05:37 94

原创 HDFS中数据存储的模式

NameNode管理文件系统的命名空间:1、文件和目录的元数据: 文件的block副本个数 修改和访问的时间 访问权限 block大小以及组成文件的block信息2、以两种方式在NameNode本地进行持久化: 命名空间镜像文件(fsimage)和编辑日志(edits log)。3、fsimage文件不记录每个block所在的DataNode...

2019-04-07 20:00:06 896

原创 备注写的最好的快速排序算法

这是别人自学的,很厉害的,图还画的很好,注释写的也很详细,太赞了!这是一篇自学文章,如果有错误地方请及时指出基本思想就是,确定一个在数组中的值,这个值可以将数组分裂为两部分,然后这两部分再分别找到那个中间值,然后再分别按照中间值在切分数组,直到最后不可切分了,也就排序完成了,如下图好了下面将是一次排序的大概流程图JAVA代码实现:public static void ...

2019-04-03 20:38:56 237

原创 我最喜欢的快速排序算法

快速排序+改进版(邓俊辉老师讲授) 我非常喜欢这个算法,看了这么多快速排序,这个快速排序由简入深,还有快速排序的改进版,真是赞叹,他们真厉害,最简单的从两头同步开始找轴点,我都看了好几天,好不容易理解了,发现邓俊辉老师不仅由实例,看不懂了,再听听他的课,就很容易理解了,可以去学堂在线(http://www.xuetangx.com),不过我还需要好好再深入理解和练习体会算法的美丽和...

2019-04-03 20:17:14 815

原创 数据结构九大排序算法的相关记忆故事(持续更新)

数据结构九大排序算法的相关记忆故事(持续更新)1.关于稳定性: 不稳定:快选堆希(快速排序、选择排序、堆排序、希尔排序) 稳 定:插冒归计基(简单插入排序、冒泡排序、归并排序、计数排序、基数排序) 稳定性的记忆方法还不是太好,你有没有想到一个好的记忆方法?欢迎分享2.关于移动次数和关键字顺序无关的排序 顺口溜:一堆(堆排序)海龟(归并排序)选择(选择...

2019-04-03 16:41:42 664

原创 快速排序是另一个分而治之排序算法。归并排序的重点在于合并,快速排序的重点在于分

快速排序是另一个分而治之排序算法。归并排序的重点在于合并,快速排序的重点在于分。 那么如何分呢?重点在于寻找轴点轴点需要满足的条件:其左侧元素都比其小,右侧元素都要比其大。 对于一个数组,起始为lo,结束为hi,轴点为pivot。通过每次选取不同的轴点,将轴点移动至某一位置,使得满足此条件:其左侧元素都比其小,右侧元素都要比其大。 如下图: ---------------...

2019-04-03 15:59:31 281

原创 最简单易懂的堆排序

堆排序a) 堆排序是一种原地的、时间复杂度为O(nlogn)的排序算法.b) 如何理解”堆"? 堆是一种特殊的树堆是一个完全二叉树堆中每一个节点的值都必须大于等于(或小于等于)其子树中每个节点的值。对于每个节点的值都大于等于子树中每个节点值的堆,我们叫做”大顶堆”。对于每个节点的值都小于等于子树中每个节点值的堆,我们叫做”小顶堆”。往堆中插入一个元素,堆化,堆华实际上有两种,从下往上...

2019-04-03 14:46:25 175

原创 最简单易懂的归并排序

(一) 归并排序归并排序(Merge Sort):归并排序的核心思想还是蛮简单的。如果要排序一个数组,我们先把数组从中间分成前后两部分,然后对前后两部分分别排序,再将排好序的两部分合并在一起,这样整个数组就都有序了。归并排序使用的就是分治思想,分治,顾名思义,就是分而治之,将一个大问题分解成小的子问题来来解决。小的子问题解决了,大问题也就解决了。分治算法一般都是用递归来实现的。分治是一种解...

2019-04-03 14:40:13 536

原创 快速排序

package core_data_structure;public class QuickSort_test1 {/** * 快速排序:由小到大的顺序 * @param args */public static void main(String[] args) { int [] array={2,5,44,22,8,9,0,2,3,88,77}; System.out.print...

2019-04-03 08:35:44 98

原创 总结快速排序方法

3,用普通话描述[快速排序算法]原理3.1 QuickSort方法一:快速排序适合大规模的数据排序, 快速排序都用到了分治思想 ,快速排序是一种原地、不稳定排序算法。.快速排序的处理过程是由上到下,先分区,然后再处理子问题。快排的思想是这样的:如果要排序数组中下标从 p 到 r 之间的一组数据,我们选择 p 到 r 之间的任意一个数据作为pivot(分区点)。 我们遍历p到r之...

2019-04-03 08:35:34 354

转载 简单易懂的快速排序

快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身影。总的说来,要直接默写出快速排序还是有一定难度的,因为本人就自己的理解对快速排序作了下白话解释,希望对大家理解有帮助,达到快速排序,快...

2019-04-03 08:35:08 142

空空如也

空空如也

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

TA关注的人

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