`
sunwinner
  • 浏览: 198539 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
After a few hours tweaking and googling, I managed to install apache oozie 3.3.2 on Hadoop 1.1.1. The document provided in apache oozie 3.3.2 is not very clear. After some googling, I found this blog is a great guide for you install oozie 3.3.1 on Hadoop 0.23.0. http://srikanthayalasomayajulu.blo ...
Today I tried to run hadoop with hprof to profiling hadoop map tasks. Unfortunately the task failed with below output:   MacBookPro:hadoop-guide gsun$ hadoop -agentlib:hprof=cpu=samples,heap=sites,depth=6,force=n,thread=y,verbose=n,file=prof.output jar hadoop-guide.jar MaxTemperatureDriverWithProf ...
When a task fails and there is not enough information logged to diagnose the error, you may want to resort to running a debugger for that task. This is hard to arrange when running the job on a cluster, as you don’t know which node is going to process which part of the input, so you can’t set up yo ...
先声明一下,本人并未安装成功,所以寻找在Mac OS 上安装Hadoop native library解决方案的就直接略过本文,免得浪费时间。   环境: Hadoop 1.1.1 stable with source code Mac OS X Mountain Lion GNU C compiler GNU Autool Chain zlib-dev(stable version >=1.2.0) 安装步骤: cd $HADOOP_HOME/ && ant -Dcompile.native=true compile-native 第一次失败原 ...
Here is a quick guide to install hadoop lzo library, the install process is pretty easy actually.   Install LZO with HomeBrew, LZO is a wonderful compression scheme to use with Hadoop. HomeBrew is prerequisite, visit https://github.com/mxcl/homebrew to see how to install HomeBrew. brew instal ...
本文主要参考 http://www.gizmojunkee.com/2012/05/installing-oracle-11gr2-on-ubuntu-12-04/ ,对文中一些步骤做了一些修正,并补充我遇到的新问题。   This howto should guide you though the installation of an Oracle Database 11g Release 2 on Ubuntu 12.04 Desktop. Ubuntu is not officially supported by Oracle so there will be a few twea ...
删除节点是二叉搜索树操作中最复杂的,但对有些应用又非常重要,有必要好好研究一下。   一个取巧的办法:在树节点中加入一个boolean字段,比如isDeleted。需要删除一个节点时就把这个字段置为true,其他操作比如find()在查找之前先判断这个节点是否已经标记为删除了,这样删除的节点将不会改变树的结构,当然这样做还会继续保留这种已经删除的节点。对某些应用场景,这种做法是有优势的,比如已经离职的员工档案要保留在员工记录中。   下面来实现这个删除节点的算法。首先列出树节点的数据结构:   /** * @author Sun Kui */ public class No ...
  计数排序的缺点很明显,需要额外的空间C来作为计数数组,虽然时间复杂度为O(n+k),但当输入序列里元素取值很大的时侯,如k=O(n2),时,此时时间复杂度已经达到n2数量级了,空间的消耗也是让人无法承受的。这里介绍一种另一种线性排序算法——基数排序,可以应对数值很大的情况。   基数排序,即一个数位一个数位地进行排序,平常生活中我们经常使用的一种算法思想:如要对一个日期进行排序,日期中由年、月、日组成的,对于这个问题,我们经常使用的是先比较年份,如果相同再比较月份,如果还相同就比较日。  
  计数排序假设n个输入元素中的每一个都是介于0-k的整数,此处k为某个整数。计数排序顾名思义离不开计数,我们要计的是输入元素中相同元素出现的次数。对每一个输入元素x,确定小于x的元素的个数,那样排序之后,x在最终输出数组中的位置就可以确定了。例如:如果有17个元素小于x,则x就位于第18
文章来源:http://hxraid.iteye.com/blog/647759 原文中有基于CPP的实现,本文将CPP代码翻译为Java。原文写得很不错,复制过来做个笔记。   全依赖“比较”操作的排序算法时间复杂度的一个下界O(N*logN)。但确实存在更快的算法。这些算法并不是不用“比较”操作,也不是想办法将比较操作的次数减少到 logN。而是利用对待排数据的某些限定性假设 ,来避免绝大多数的“比较”操作。桶排序就是这样的原理。   桶排序的基本思想        假设有一组长度为N的待排关键字序列K[1....n]。首先将这个序列划分成M个的子区间(桶) 。然后基于某种 ...

快速排序实现2

这个算法实现中,对小的子数组使用插入排序,借此来提高性能。 Knuth推荐对小数组的切割点为9,正是程序中使用的值。实践中还需要根据测试请看选择更好的切割点。   import java.util.Random; public class QuickSort2 { private long[] theArr; private int nElems; public QuickSort2(int max) { this.theArr = new long[max]; this.nElems = 0; } ...

快速排序实现1

算法思想: 快速排序使用分治法(Divide and conquer)策略来把一个串行(list)分为两个子串行(sub-lists)。 步骤为: 从数列中挑出一个元素,称为 "基准"(pivot), 重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分区(partition)操作。 递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序。 递归的最底部情形,是数列的大小是零或一,也就是永远都已经被排序好了。虽然 ...
划分算法由两个指针开始,分别指向数组的两头。在左边的指针向右移动,右边的指针向左移动。左边的指针leftPtr初始化为第一个数据项,右边的指针rightPtr初始化为数组的最后一项。算法如下:   import java.util.Random; public class Partition { private long[] theArr; private int nElems; public Partition(int max) { theArr = new long[max]; nElems = 0; ...

Shell Sort in Java

基本思想:     先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组。所有距离为dl的倍数的记录放在同一个组中。先在各组内进行直接插人排序;然后,取第二个增量d2<d1重复上述的分组和排序,直至所取的增量dt=1(dt<dt-l<…<d2<d1),即所有记录放在同一组中进行直接插入排序为止。 该方法实质上是一种分组插入方法。 import java.util.Random; /** * Shell sort in Java. * @author Sun Kui */ public class ShellSort { ...
输入一个字符串,输出该字符串中字符的所有组合。举个例子,如果输入abc,它的组合有a、b、c、ab、ac、bc、abc。 假设我们想在长度为n的字符串中求m个字符的组合。我们先从头扫描字符串的第一个字符。针对第一个字符,我们有两种选择:一是把这个字符放到组合中去,接下来我们需要在剩下的n-1个字符中选取m-1个字符;二是不把这个字符放到组合中去,接下来我们需要在剩下的n-1个字符中选择
Global site tag (gtag.js) - Google Analytics