- 博客(34)
- 资源 (10)
- 收藏
- 关注

原创 pagerank算法的MapReduce实现
pagerank是一种不容易被欺骗的计算Web网页重要性的工具,pagerank是一个函数,它对Web中(或者至少是抓取并发现其中连接关系的一部分web网页)的每个网页赋予一个实数值。他的意图在于,网页 的pagerank越高,那么它就越重要。并不存在一个固定的pagerank分配算法。对于pagerank算法的推到我在这里不想做过多的解释,有兴趣的可以自己查看资料看看,这里我直接给出某个网页
2015-05-18 18:35:27
2299
1

原创 Dijkstra算法Java实现
从最短路径开始,学习Dijstar算法下面是求最短路径问题描述:下面是Dijkstar算法的描述:下面是使用Dijkstar算法求解右图中的问题:下面是图的邻接矩阵:下面是计算过程:下面是求解最短路径:下面是Java代码实现,其中需要注意的问题我已经标出(一定要细心!!!!):package g
2015-05-18 09:40:06
1840

原创 hive通过jdbc创建表,分区,桶
首先我们需要打开hiveserver服务:hive --service hiveserver然后我们和操作普通数据库一样,先加载驱动,然后建立连接,接着创建一个statement,然后执行查询,然会结果集。代码如下(一定要写对sql语句,要仔细,下面的需要注意的地方我已经标示出来了:)package playHive;import java.sql.Connection;import
2015-05-10 16:52:55
3690

原创 hadoop 多数据源连接之DataJoin
一个MapReduce任务很可能访问和处理两个甚至多个数据集,在关系型数据库中,这将是两个或者多个表的连接,但是Hadoop系统没有关系型数据库中那样强大的连接处理功能,因此处理复杂一些。一般来讲,hadoop可以采用这几种数据连接方式: 1采用DataJoin类库实现Reduce端连接的方法 2 用全局文件复制实现Map端连接方法 3 带Ma
2015-05-03 10:57:29
1305

原创 Java创建AVL树
AVL树是带有平衡条件的二叉查找树,其查找和删除的时间复杂度为logn,是对二叉查找树的改进,我们将节点的左子树和右子树深度之差称为平衡因子(BF),其中的每一个节点的平衡因子的绝对值不大于1。距离插入节点最近的,并且平衡因子绝对值大于1的节点为根的子树,称为最小不平衡子树。要实现AVL树,就必须保证在插入的时候消除不平衡的子树,即通过某种方式,使每次插入一个节点,都是平衡的BST树,下面
2015-04-20 18:39:48
2151

原创 Java实现排序二叉树的操作
在写博客之前,一定要明确一个问题,就是Java方法传值的问题,如果是基本类型和String类型,调用了某个方法,在方法内部对其值进行了更改,但是方法调用完了其值保持不变,这是因为Java在传值的时候对这些类型的变量copy了一个副本。对于对象的引用也是如此,比喻a=new A();方法中更改a指向:a=new B();方法执行完毕a仍然指向A类型对象。 排序二叉树:二叉排序树或者
2015-04-18 21:35:00
1958

原创 hadoop文件损坏解决办法
今天把集群重新扩容了一下,把之前的两台电脑重新装了系统,结果启动hadoop发现报错了问题原因:在hdfs-site中配置的副本书为1,而且把两台机子的文件给清理了,导致一部分数据丢失,而且无法恢复,报错导致hbase无法访问60010端口解决办法:使用 hadoop fsck / 列出损坏文件,损坏的文件无法恢复,只能删除损坏的文件 hadoop fsck -delete
2015-04-11 13:49:10
1768

原创 Java实现创建哈夫曼树
使用Java创建哈夫曼树代码如下:注意事项都在代码中说了,具体的原理很简单,我就不多说了:package data_structure;import java.util.ArrayList;import java.util.Collection;import java.util.Collections;import java.util.LinkedList;import java.
2015-03-31 20:10:54
1319

原创 安装protege和Graphviz
对于protege有很多版本,低版本的protege会有很多bug,在安装protege的时候我也遇到了很多问题,安装了protege5.0的版本,但是没有找到相关的中文教程,安装了4.0的,但是建了本体过后不能使用OWLVIZ功能,安装了3.0的版本出现了很多问题,在这里我给大家一起分享一下: 1.首先,protege的版本要和Graphviz的版本配套,比喻建议protege
2015-03-12 09:18:25
6141
原创 给定一个二叉树和任意一个节点,求该该节点的下一层的第一个节点
给定一个二叉树和任意一个节点,求该该节点的下一层的第一个节点,该二叉树为孩子表示法
2015-09-25 19:58:00
1420
原创 tomcat启动web项目时候突然卡住
昨天遇到了从未遇到的问题,tomcat启动web项目时候突然卡住,不报错,什么提示都没有,对于bean我使用注解注入的方式,通过类型来实例化bean,出现这个问题的原因有: dao bean在加载的时候出错,导致无法加载dao,所以卡住,导致这个问题的原因有: 1 这个class的路径写错了,无法找到这个dao bean 2 我的这个后面没有写parent
2015-06-12 09:23:53
6540
原创 动态规划算法求解0,1背包问题
看看动态规划的四个步骤:对于动态规划算法,我们必须明确两个基本要素,这两个要素对于在设计求解具体问题的算法时,是否选择动态规划算法具有指导意义:
2015-05-11 21:14:05
3401
原创 java实现循环赛日程表
使用分治法的思想把N*N矩阵分成四块,然后分左上角和左下角求解,然后把左上角的矩阵块复制到右下角,左下角的矩阵块复制到右上角,然后对左下角和左下角的矩阵块使用分治法,递归下去,下面是Java实现:package recursion;public class CircleCompetition { private int array[][]; public CircleCompet
2015-05-09 23:20:40
3583
原创 改进归并排序消除递归Java实现
思想很简单,我就不说了,下面是代码实现,一定要注意细节:package data_structure;public class MergeSortChange { private int array[]; public MergeSortChange(){ array=new int[]{3,7,4,2,10,8,5,4,8}; } public MergeSortC
2015-05-08 23:12:55
957
原创 java浅谈锁
当使用synchronized关键字时,实际上是获得了当前对象上的锁。在Java中,每一个对象都有与之关联的锁。这个关键字可以用到任意的代码块中。例如,将一段代码包含到synchronized块中,就可以在这段代码中提供原子操作,如下所示: synchronized (this){ //program statements; }同步语句
2015-05-02 11:28:32
643
原创 java NIO学习之处理速度比较
这里像文件写入500000个数字,并且读出,使用普通的数据流读写,NIO流读写和NIO流文件映射到内存读写三种方式相互比较:package inputoutputStream;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.File;import java.io.FileInp
2015-04-29 18:03:53
587
原创 java拆箱和装箱
1 什么是拆箱和装箱? 装箱:用基本类型对象的引用类型包装基本类型,使其具有对象的性质,比喻把int包装成Integer, 拆箱:拆箱装箱是相反的操作,就是把类类型转化为基本类型,比喻把Integer转化为int 比喻:Integer i=2; //装箱,此时会自动调用valueOf方法,即和 Integer i=Integer.valueOf(2
2015-04-29 08:06:07
575
原创 Java浅谈流之对象流ObjectInputStream和ObjectOutputStream
我们知道Java中对文件操作有6种流: 1 文件字节流:这是InputStream和OutputStream的子类 eg: FileInputStream FileOutputStream 2 文件字符流 这是Reader和Writer的其子类 eg:FileReader FileWriter
2015-04-28 16:36:03
9792
原创 Hadoop集群上安装mahout
mahout安装与配置: 安装环境:需要安装Hadoop集群, 建议下载安装mahout0.8,下载版本mahout-distribution-0.8.tar.gz ,下载链接:http://archive.apache.org/dist/mahout/ 安装: 1 解压mahout, sudo tar -zxvf /op
2015-04-12 17:27:28
1123
原创 hadoop在ubuntu14.04中完全分布式安装步骤
这篇博客参考了这篇文章http://www.cnblogs.com/xia520pi/archive/2012/05/16/2503949.html,主要是想提醒在ubutnu上安装hadoop的朋友们,这里有一些问题需要改进,在参考http://www.cnblogs.com/xia520pi/archive/2012/05/16/2503949.html的基础上在参考我的文章,相信安装hado
2015-04-11 10:58:38
1182
原创 使用MapReduce查找数据库表的重复数据
在一张很大的数据库表中,这张表有6个字段,要求查找出具有指定的三个字段相同的记录,并且这些记录的总和要大于等于3,如果使用SQL语句的话,就很慢,至少我使用了30多分钟,而且还没有写好SQL语句,现在我使用了MapReducer进行编程,大致思路如下: 1 在Map阶段,对要求的 三个字段合并,使用复合键值对,让map端自带的排序功能排序; 2 使用combiner
2015-03-29 17:49:40
1371
转载 Hadoop传递参数的方法总结
写MapReduce程序通常要传递各种各样的参数,选择合适的方式来传递参数既能提高工作效率,也可以避免bug的产生。根据参数的大小,可以粗略的分为以下几种。最直接的方式就是使用Configuration的各种set方法,对于基本数据类型都有很好的支持,比如传递kmeans聚类算法的中心点个数。如何传递一个对象型参数?话说所有的对象都是由基本类型构建的,所以我们可以覆盖这个对象的toStri
2015-03-28 12:51:09
407
原创 HBase创建二级索引
HBase索引主要为了提高HBase的访问速度,有效的避免了对表进行全局扫描,多数查询只是需要查找表的一部分,通常一个表包含了很多region,一个region包含了很多数据,如果需要用列值作为查询条件的话,显然就需要对表进行全局扫描,但是如果把列值作为行健,把行键作为列值,显然可以提高访问速度,而且索引表比起原表要小很多。 下面介绍一下索引的具体实现,比喻我的HBase表为:
2015-03-28 12:12:10
985
原创 Hadoop集群错误
遇到了一直以来没有解决的问题,今天顺利的解决了: 1 集群启动一段时间Master就失去了和Slave的连接,显示Slave宕机了,ssh Slave1过后恢复正常,查看Slave的日志:显示:Call to ubuntu/192.168.0.1:9000 failed on connection exception: java.net.ConnectException: 拒绝
2015-03-24 03:30:42
525
原创 面试java必备知识点
1. java多线程编程,线程安全问题,怎么解决并发问题;2 java常见集合类,了解集合类的内部实现及其优化问题;3 jvm内部实现机制,如何进行调优;4 gc如何进行垃圾回收,有哪些算法,并且怎么优化;5 jdbc加载过程,如何连接JDBC,怎么写代码,理解加载过程;6 java反射机制,反射的应用,反射的作用;7 java常见错误有哪些,有哪些类包含有哪些异常;8
2015-03-22 22:22:14
534
原创 java super和this的区别
this关键字: this关键字从本质上讲是指向某个对象的指针,只能用于在实例方法中,不能出现在类方法中,当在方法中调用某个成员变量时,就相当于调用了this.成员变量。 this的用法: 1. this可以用来区别局部变量和成员变量,比喻this.x=x;这时候this不可以省略。 2. this(x)表示调用的是本类中的构造方法
2015-03-04 21:48:13
684
原创 java super和this的区别
this关键字: this关键字代表的是某个对象,this只可以出现在实例方法中,不可以出现在类方法中,this.varibly代表的是使用本类的成员变量,但是可以省略,因此在给成员变量赋值的时候,可以不用写this,但是如果有把一个同名的局部变量赋给该成员变量,就必须使用this关键字,也就是this区别成员变量和局部变量。 this的使用:
2015-03-04 17:44:07
815
Hadoop,Hbase,mahout三者兼容版本的API文档
2015-05-11
hive0.90压缩文件
2015-05-11
Hbase0.92.1安装压缩文件
2015-05-11
hadoop1.01压缩文件
2015-05-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人