- 博客(29)
- 资源 (15)
- 收藏
- 关注
转载 HDFS的工作原理
Hadoop分布式文件系统(HDFS)是一种被设计成适合运行在通用硬件上的分布式文件系统。HDFS是一个高度容错性的系统,适合部署在廉价的 机器上。它能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。要理解HDFS的内部工作原理,首先要理解什么是分布式文件系统。1、分布式文件系统多台计算机联网协同工作(有时也称为一个集群)就像单台系统一样解决某种问题,这样的系统我
2017-06-30 11:22:42 326
转载 HDFS——数据备份与放置策略(转)
HDFS——数据备份与放置策略(转)对于分布式文件系统来说,为了保证数据的高可用性和系统容错能力,往往会把同一数据块在多个节点上进行备份,那么如何分配这些复制数据的位置,不同的文件系统会有不同的策略。一、业界分析在介绍HDFS之前,先简单了解一些其它文件系统的放置策略:1. Lustre——一致性哈希环对于不同的数据备份,需要放到不同的节点上面,一种直观
2017-06-30 10:40:08 3364
转载 漫谈HADOOP HDFS BALANCER
漫谈HADOOP HDFS BALANCERHadoop的HDFS集群非常容易出现机器与机器之间磁盘利用率不平衡的情况,比如集群中添加新的数据节点。当HDFS出现不平衡状况的时候,将引发很多问题,比如MR程序无法很好地利用本地计算的优势,机器之间无法达到更好的网络带宽使用率,机器磁盘无法利用等等。可见,保证HDFS中的数据平衡是非常重要的。在Hadoop中,包含一个Balancer程序
2017-06-30 10:22:44 371
转载 static变量的初始化和赋值的区别
转载:http://blog.csdn.net/petersmart123/article/details/52372754事实胜于雄辩,啥也别说,code说明问题:[cpp] view plain copy print?int add(int a, int b) { static int result = a +
2017-06-28 16:14:29 1648
转载 判断一个二叉树是否是平衡二叉树
判断一个二叉树是否是平衡二叉树题目:判断一个二叉排序树是否是平衡二叉树思路:利用递归判断左右子树的深度是否相差1来判断是否是平衡二叉树。 1 #include 2 #include "stdafx.h" 3 4 struct BinaryTreeNode 5 { 6 int m_nValue; 7
2017-06-28 09:53:16 357
转载 do{...}while(0)的意义和用法
do{...}while(0)的意义和用法On October 9, 2012, in C语言, 语言学习, by spongelinux内核和其他一些开源的代码中,经常会遇到这样的代码:do{ ...}while(0)这样的代码一看就不是一个循环,do..while表面上在这里一点意义都没有,那么为什么要这么用呢?
2017-06-27 10:08:34 313
转载 哈希表和完美哈希
我们知道,通过对数组进行直接寻址(Direct Addressing),可以在 O(1) 时间内访问数组中的任意元素。所以,如果存储空间允许,可以提供一个数组,为每个可能的关键字保留一个位置,就可以应用直接寻址技术。哈希表(Hash Table)是普通数组概念的推广。当实际存储的的关键字数比可能的关键字总数较小时,这时采用哈希表就会比使用直接数组寻址更为有效。因为哈希表通常采用的数组尺寸与
2017-06-23 15:07:52 522
转载 哈希表应用实例
1:问题描述 针对某个集体(比如你所在的班级)中的“人名”设计一个哈希表,使得平均查找长度不超过R,完成相应的建表和查表程序。2:基本要求 假设人名为中国人姓名的汉语拼音形式。待填入哈希表的人名共有30个,取平均查找长度的上限为2。哈希函数用除留余数法构造,用伪随机探测再散列发处理冲突。3:数据结构设计[cpp] vi
2017-06-23 14:53:31 2476 2
转载 hash实例讲解
from http://blog.jobbole.com/49229/说明:本文分为三部分内容,第一部分为一道百度面试题Top K算法的详解;第二部分为关于Hash表算法的详细阐述;第三部分为打造一个最快的Hash表算法。第一部分:Top K 算法详解问题描述百度面试题:搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-2
2017-06-23 14:50:09 2159
转载 epoll的内部实现 & 百万级别句柄监听 & lt和et模式非常好的解释
epoll是Linux高效网络的基础,比如event poll(例如nodejs),是使用libev,而libev的底层就是epoll(只不过不同的平台可能用epoll,可能用kqueue)。epoll能够高效支持百万级别的句柄监听。 epoll高效,是因为内部用了一个红黑树记录添加的socket,用了一个双向链表接收内核触发的事件。是系统级别的支持的:当某一进程调
2017-06-23 11:54:06 995
转载 LT自动挡,ET手动挡(epoll)
LT自动挡,ET手动挡(epoll)转载:http://www.cnblogs.com/napoleon_liu/archive/2010/07/20/1781578.htmlepoll有 ET和LT两种模式, 默认是LT模式。LT模式的时候,epoll_wait 会把有事件的 file 再次加到 rdllist 列表中,以便下次epoll_wait可以再检
2017-06-23 11:46:46 359
转载 为什么求模运算要用素数(质数)—— 哈希表设计
为什么求模运算要用素数(质数)—— 哈希表设计 By admin | 2013 年 7 月 25 日 | 杂记, 编程技术在设计用除法来散射的哈希表时,我们都会用数值模哈希表大小,得到的余数来作为ID存入哈希表对应格子中。所有文章都表明要用一个较大的素数来作为哈希表的大小,也就是要模一个较大的素数。但为什么就是要用素数呢?简单分析一下可以看出玄机。先看看如果用一个
2017-06-23 10:43:10 990
转载 epoll LT/ET 深入剖析
epoll LT/ET 深入剖析EPOLL事件有两种模型:Level Triggered (LT) 水平触发.socket接收缓冲区不为空 有数据可读 读事件一直触发.socket发送缓冲区不满 可以继续写入数据 写事件一直触发符合思维习惯,epoll_wait返回的事件就是socket的状态Edge Triggered (ET) 边沿触发.socket的接
2017-06-22 17:33:45 455
转载 [arm驱动]linux等待队列阻塞中断IO的应用
《[arm驱动]linux等待队列阻塞中断IO的应用》涉及内核驱动函数四个,内核结构体零个,分析了内核驱动函数四个;可参考的相关应用程序模板或内核驱动模板一个,可参考的相关应用程序模板或内核驱动一个一、概念: 要休眠进程,必须有一个前提:有人能唤醒进程,而起这个人必须知道在哪儿能唤醒进程,这里,就引入了“等待队列”这个概念。二、应用场景: 等待队列用来实现进程的阻塞,等
2017-06-22 16:31:31 590
转载 Linux内核:通过wait_event和wake_up内在机制分析等待队列
等待队列在Linux内核中,等待队列是一个非常重要的概念,也是一个非常重要的机制。我们会在很多函数当中用到等待队列的知识,例如completion机制、wait_event机制等等。在解释这些机制之前,我们首先要弄清楚什么是等待队列。在linux内核里面,我们将进程分为以下几种状态:可运行状态(TASK_RUNNING) 处于这种状态的进程,要么正在运行,要么正准备被CPU调度
2017-06-22 16:18:33 1182
转载 linux设备驱动中的阻塞与非阻塞(二)
上一节我们分析了Linux驱动中阻塞的实现,利用等待队列的休眠和唤醒机制实现,这一节我们探讨一下非阻塞的实现!其实在非阻塞中,我们可以直接打开一个设备,进行读取和写入操作,但是这样做很不好,因为使用的是非阻塞,所以无论能不能写入或者读取都会返回,就像小明去买衣服,去到商店,商店开门了,买了衣服回来,这固然是好,可是万一商店老板来晚了一分钟,小明看到一关门就回去了,要是他等待多一分钟,就可以
2017-06-22 16:12:35 306
转载 linux设备驱动中的阻塞与非阻塞(一)
这两天在搞Linux驱动的阻塞和非阻塞,困扰了两天,看了不少博客,有了点自己的想法,也不知是否对错,但还是写写吧,让各位大神给我指点指点。 首先说说什么是阻塞和非阻塞的概念:阻塞操作就是指进程在操作设备时,由于不能获取资源或者暂时不能操作设备时,系统就会把进程挂起,被挂起的进程会进入休眠状态并且会从调度器的运行队列移走,放到等待队列中,然后一直休眠,直到该进程满足可操作的条件
2017-06-22 16:11:50 501
转载 Hadoop文件放置策略及数据倾斜的balance方法
转自:http://www.cnblogs.com/zhanghuijunjava/archive/2013/04/22/Hadoop-block_hdfs.html?utm_source=tuicoolhttp://www.cnblogs.com/Richardzhu/p/3623323.htmlhadoop文件放置1:什么是HDF
2017-06-22 14:54:18 448
转载 AVL树及C语言实现
概念 平衡二叉树(Balanced binary tree)是由苏联数学家Adelson-Velskii and Landis于1962年首先提出的,所以又称为AVL树。定义:平衡二叉树或为空树,或满足如下性质的二叉树: (1)本身首先是一棵二叉搜索树 (2)左右子树深度之差的绝对值不超过1; (3)左右子树仍然为平衡二叉树.平衡因子BF
2017-06-21 10:59:37 414
转载 二分查找算法
二分查找算法 二分查找算法是在有序数组中用到的较为频繁的一种算法,在未接触二分查找算法时,最通用的一种做法是,对数组进行遍历,跟每个元素进行比较,其时间为O(n).但二分查找算法则更优,因为其查找时间为O(lgn),譬如数组{1, 2, 3, 4, 5, 6, 7, 8, 9},查找元素6,用二分查找的算法执行的话,其顺序为: 1.第一步查找中间元素,即5,由于5
2017-06-21 09:48:54 212
转载 红黑树(RB-tree)比AVL树的优势在哪?
转载:http://blog.csdn.net/mmshixing/article/details/51692892今天看了STL源码剖析中关于红黑树的原理和实现,看完复杂的节点插入、节点颜色变换后不禁想:这些功能经典的AVL树也能实现,为什么要提出红黑树?查了些资料,并且加上自己理解,感叹红黑树的巧妙。首先红黑树是不符合AVL树的平衡条件的,即每个节点的左子树和右子树的高度最多差
2017-06-19 10:41:53 822
转载 C语言实现时间戳转日期的算法
一.可以通过现有函数实现C语言库函数:localtime就可以获得一个时间戳对应的具体日期了在标准C/C++中,我们可通过tm结构来获得日期和时间,tm结构在time.h中的定义如下: #ifndef _TM_DEFINED struct tm { int tm_sec; /* 秒–取值区间为[0,59] */ int tm_
2017-06-14 14:38:46 21359 4
转载 hash算法 (hashmap 实现原理)
Hash ,一般翻译做“ 散列” ,也有直接音译为“ 哈希” 的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不 同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。HAS
2017-06-13 17:30:28 376
转载 c语言实现通用数据结构(五):通用映射(HashMap)
转载:http://blog.csdn.net/swwlqw/article/details/22666705这是在通用链表的基础上实现的映射,关于链表的实现参见:http://blog.csdn.net/swwlqw/article/details/22498833。注意映射中只存储了key和value的指针,没有储存实际的数据。对于新的key类型来说,需要自定义Ha
2017-06-13 17:26:15 2057 2
转载 ELFhash - 优秀的字符串哈希算法
1.字符串哈希:我们先从字符串哈希说起在很多的情况下,我们有可能会获得大量的字符串,每个字符串有可能重复也有可能不重复C不像Python有字典类型的数据结构,我们没有办法吧字符串当做是键值来保存,所以说我们需要一种hash函数将每个字符串都尽可能减少冲突的情况下去应设一个唯一的整形数据,方便我们的保存,这里我们就引入了字符串hash算法现在,有非常多的字
2017-06-13 16:55:49 1183
转载 C语言的HashTable简单实现
HashTable是在实际应用中很重要的一个结构,下面讨论一个简单的实现,虽然简单,但是该有的部分都还是有的。一,访问接口创建一个hashtable.hashtable hashtable_new(int size) // size表示包含的接点个数。存入key-value至hashtable中。void hashtable_put(hasht
2017-06-13 15:18:32 660
转载 大根堆小根堆及其应用
转载:http://blog.csdn.net/pngynghay/article/details/22052737堆的概念堆实际上是一棵完全二叉树,其任何一非叶节点满足性质:Key[i]=Key[2i+1]&&key>=key[2i+2]即任何一非叶节点的关键字不大于或者不小于其左右孩子节点的关键字。堆分为大顶堆和小顶堆,满足Key[i]>=Key[2i+1]&&
2017-06-06 17:06:07 1508
转载 堆排序原理及算法实现(最大堆)
堆排序 堆排序是利用堆的性质进行的一种选择排序。下面先讨论一下堆。1.堆 堆实际上是一棵完全二叉树,其任何一非叶节点满足性质: Key[i]=Key[2i+1]&&key>=key[2i+2] 即任何一非叶节点的关键字不大于或者不小于其左右孩子节点的关键字。 堆分为大顶堆和小顶堆,满足Key[i]>=Key[2i+1]&&key>
2017-06-05 16:30:22 354
转载 海量数据处理算法—Bloom Filter
转载-学习使用1. Bloom-Filter算法简介 Bloom-Filter,即布隆过滤器,1970年由Bloom中提出。它可以用于检索一个元素是否在一个集合中。 Bloom Filter(BF)是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。它是一个判断元素是否存在集合的快速的概率算法。Bloo
2017-06-05 14:34:08 267
Berkeley DB 资料
2010-09-21
linux c函数速查手册
2009-10-13
lcd ampire128x64 的使用 proteus
2009-05-17
autocad做的小户型平面图
2009-03-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人