- 博客(6)
- 问答 (1)
- 收藏
- 关注
原创 MapReduce之Writable
一 Writable序列化与反序列化首先我们来解释什么是序列化与反序列化。序列化与反序列化就是在结构化对象与二进制流之间的转换。Hadoop各个节点之间采用RPC进行通信,我们先将结构化对象序列化成二进制流,在远程节点再将二进制流反序列化成结构化对象。这样就完成了节点之间的传输。他的好处无非就是压缩过,使得节点之间带宽占用较少,可以快速读写,高扩展性,兼容性好。 在MapReduce过程中,had...
2018-03-29 10:50:50 1043
原创 MapReduce的个人理解
MapReduce作为一个并行计算框架,MR一共分为三个部分分别是Map->Shuffle->Reduce,我们就从这三个步骤来理解MapReduce。1.map端 Hadoop将MapReduce的输入数据分成等长的数据块,这个过程叫做input split也就是分片,然后为每一个分片分配一个map任务,然后通过用户自己定义的逻辑来处理这些分片里的数据,这里就有一个问题...
2018-03-28 15:47:56 885
原创 《Hadoop权威指南》个人笔记
一 MapReduce1 . 分片:Hadoop将MapReduce的输入数据划分为等长的小数据块,称为输入分片(input split)简称分片。hadoop为每个分片构建一个map任务。我的理解:MR程序中map的个数就是数据分片的个数,因此我们应该可以控制分片的大小来控制map的个数,至于为什么要分片,很简单,我们可以并行处理每一片的数据,肯定会比单独处理一个大文件快很多。注意,分片如果分的...
2018-03-23 20:29:55 243
原创 归并排序的理解
归并排序是一个对递归和分治很好诠释的一个排序算法它是将一个无序的数组依次分开使之变为有序的数组,如果我们一直将其分解到一个数组中只有一个数,那么我们就可以理解为他是有序的,然后再将这些有序的数组依次合并成一个数组,至于如何合并就很简单了,我们只需要比较第一个数字,哪个数组的数字大就选取哪个数组的,然后把第一个数字拿到新的数组中,然后删除原数组中的值,依次比较,如果其中一个数组空了,那么我们就将另一...
2018-03-23 20:29:24 274
原创 二叉树遍历
二叉树遍历主要分为深度遍历与广度遍历,其中深度遍历运用到的数据结构为栈,而广度优先运用的数据结构为队列。其中深度优先遍历又分为前序遍历,中序遍历以及后续遍历,广度优先又叫做层次遍历。 一 深度优先遍历 ...
2018-03-21 17:03:06 189
原创 快速排序简单理解(实现原理以及不稳定性)
一 基本原理 快速排序的根本可以说就是通过分治法来实现,简单举一个例子来理解一下快速排序的过程。 我们现在对(56,28,45,93,10,32,44,95,60,58)进行排序 首先我们定义三个量,i,j,flag。i是数组第一个值的下表即i=0。j是数组最后一个值的下表即j=9,flag就是数组的第一个值即flag=56,现在我们要做的就是讲这个数组中所有比flag小的数放到他...
2018-03-19 14:31:55 16555 5
空空如也
NDN消费者如何知道可以拉哪些数据
2019-03-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人