`
文章列表
          从在自己的win7下面装好虚拟机,然后在虚拟机上面安装hadoop,然后再安装hadoop-eclipse插件,过去好像有一个星期了,之前装虚拟机和hadoop都没成功,上个星期解除了封印,一口气把hadoop学习前期的所有的东西都搞定了,接下来就是遥遥无期的hadoop之路。希望自己能坚持下去。          今天按着别人的思路在win7下面的eclipse里面敲了算是处女作的Map/Reduce程序,虽然很简单,但是自己还是一步一步的走通了,因为hadoop是安装在虚拟机上的,但是eclipse是在win7下面,所以在中间运行的时候会有一系列的错误,昨天晚上把遇 ...
运行hadoop程序时,有时候会报以下错误:org.apache.hadoop.dfs.SafeModeException: Cannot delete /user/hadoop/input. Name node is in safe mode这个错误应该还满常见的吧(至少我运行的时候是这样的)那我们来分析下这个错误,从字面上来理解:Name nod ...
         先上错误:        14/06/27 23:37:32 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 14/06/27 23:37:32 ERROR security.UserGroupInformation: PriviledgedActionException as:Administrator cause:java.io.IOException: ...
Step1:     我们要在本地创建一个存放数据的txt文件,我们命名为studentdata.txt里面存放的数据如下: 001:林:59 002:唐:100 003:施:61 004:王:78 005:张:76 006:李:52       Step2:        将本地创建的数据传到namenode下面,       先在我们的/mnt/tmp/下面创建一个input_tms目录,用来存放我们上传的文件       先cd 到/mnt/tmp目录下       然后mkdir input_tms         最后查看ls /mnt/ ...
          Pig  是一种探索大规模数据集的脚本语言。MapReducer的一个主要的缺点就是开发的周期太长了。我们要编写mapper和reducer,然后对代码进行编译打出jar包,提交到本地的JVM或者是hadoop的集群上,最后获取结果,这个周 ...
        今天突然想起曾今一个学长说的一句话,他说数据结构中B+树在计算机中用的最多,曾几何时我们也好像学过B树,可是酱油过来已经忘得差不多了,B+树做为了我们的自学部分,自学的当然在那时就认为是不用学的了。          早上的实验课无聊,就现场百度了一把,想看看B+树的知识,一下把我吓了一跳 ,原来B树有这么多的兄弟,不仅仅是B+,还有B-树,当然还有B*树,暂时没看到B/树,点开了那篇文档,文档不长,但是对每种树的介绍都挺清楚的,即使不深入,知道有那么一回事 还是好的,和别人扯淡底气也足一些啊,又扯淡了。。。。于是乎我花了几个百度的财富值把那篇文档档下来了,贴出来,大家一起 ...
        希尔排序是在插入排序的基础上对插入排序进行了优化。我们知道插入排序的过程是将后面的要排序的数字依次和待排序前面的数字进行比较,然后判断大小,最后在进行交换。         这就存在一个很大的问题,就 ...
       归并排序的思想是把一个要排序的数据分成两份,把每一份排好序,然后通过merge()(合并)方法把两个数组归并成一个有序的数组。。。        通过递归的方法。一份变两份,两份变四份,四份变八份。。。。当分到 ...
        今天读“谷歌三大论文”看到了“二分查找”这个词,突然一点印象都没有了,记性是被狗吃去了么,最主要的是平时用的少,又没怎么去看他,快点打开书,又看了一遍,再敲了一遍,写点东西,算是再次复习一下。        所谓“二分查找”从字面就可以知道他的意思,一个是“分”一个就是“找”,“分”就是指把“分数据”“找”也就是找数据,唉,又废话了。        具体一个例子,我们要在数组中找一个数据,我们先找到中间的值,然后把要找的数据和中间值进行比较,如过比中间值大,我们就知道要在中间和最末尾之间去找了,反之在头和中间里面找。这样就去掉了一半的数据,再这样一直下去,一直分,一直找。 ...
原子性操作例子举例: A想要从自己的帐户中转1000块钱到B的帐户里。那个从A开始转帐,到转帐结束的这一个过程,称之为一个事务。 在这个事务里,要做如下操作: 1. 从A的帐户中减去1000块钱。如果A的帐户原来有3000块钱,现在就变成2000块钱了。 2. 在B的帐户里加1000块钱。如果B的帐户如果原来有2000块钱,现在则变成3000块钱了。 如果在A的帐户已经减去了1000块钱的时候,忽然发生了意外,比如停电什么的,导致转帐事务意外终止了,而此时B的帐户里还没有增加1000块钱。那么,我们称这个操作失败了,要进行回滚。回滚就是回到事务开始之前的状态,也就是回到 ...
1.        蛋疼的编译原理之词法分析:               (1)理解词法分析在编译程序中的作用 (2)加深对有穷自动机模型的理解 (3)掌握词法分析程序的实现方法和技术 2.           要求
       前面翘的链表是单向的,也就是只能从一头开始遍历和操作,每个节点用next关联到下一个节点,今天把双向的敲了一下,双向的就多了一个previous,用它来关联它的上一个节点,这样,链表可以实现从前面操作,也可以从后面操作,单向的链表也就是只有一个头,双向的链表就是两个头,从哪个头都可以对连彼岸进行操作,所谓的操作也就是插入,删除,遍历,打印,等等等等        下面是代码,还是老样子,先是节点类登场,和单向的节点类唯一的区别就是多了一个用来关联前面节       点 的节点。 public Link previous; //定义指向前一个节点       具体代码如 ...
        昨天把链表敲了一下,我们可以实现一个不要为他内存浪费和溢出而伤脑筋的存放数据的结构,我们以前对数据进行排序的时候都是喜欢放在数组里面,用数组来保存我们的排好序的数据,同时在数组中对数组进行操作,实现排序。今天就用昨天的链表来给数据排排序,在插入元素节点的时候就进行判断,然后插入,最后得到的链表也就是一个排好了序的链表。        用这个思想我们可以把他用到一个高效的排序机制里面,假设有一个无序的数组,我们把他们取出来一个一个的插入到有序链表,在插入的时候他们自动完成了排序,插入完毕之后,把他们从有序链表中删除(删除的时候返回头节点),重新放入数组,经过这样的操作我们就可 ...
      我们知道数组是我们很熟悉的一种存放数据的东西,但是它的问题我们也知道,一经创建它的大小也就固定了,固定存在着一个重要的问题“内存浪费”和“内存溢出”,也就是它不能动态的变换它的大小,而链表就很好的解决了这个问题,它是动态的,大小随着加入和删除节点而变化着自己的大小,java自带的垃圾回收也会处理被删除的节点。释放出内存。我们还知道,数组在查看元素上面是它的强项,同过它的下标,时间复杂度为O(1),就能定位到元素,链表在这个方面就差一点了,因为要想查看一个元素,必须遍历链表找到相应的元素,时间复杂度到了O(n),各有长处,也各有短处,这也像我们人一样嘛,人无完人,各有长短。   ...
  参考自:http://blog.csdn.net/wuhuan_wp/article/details/7010071   一致性哈希算法是分布式系统中常用的算法。比如,一个分布式的存储系统,要将数据存储到具体的节点上,如果采用普通的hash方法,将数据映射到具体的节点上,如key%N,key是数据的key,N是机器节点数,如果有一个机器加入或退出这个集群,则所有的数据映射都无效了,如果是持久化存储则要做数据迁移,如果是分布式缓存,则其他缓存就失效了。     因此,引入了一致性哈希算法:   把数据用hash函数(如MD5),映射到一个很大的空间里,如图所示。数据的存储时, ...
Global site tag (gtag.js) - Google Analytics