hadoop
chjjunking
这个作者很懒,什么都没留下…
展开
-
hadoop中的Partitioner分区
hadoop的map/reduce中支持对key进行分区,从而让map出来的数据均匀分布在reduce上,当然,有时候由于机器间配置问题,可能不需要数据均匀,这时候也能派上用场。框架自带了一个默认的分区类,HashPartitioner,先看看这个类,就知道怎么自定义ke转载 2011-09-04 10:47:01 · 14870 阅读 · 0 评论 -
hadoop 分布式 集群配置 笔记
使用了两天的时间,终于将这个hadoop的集群配置弄好了。参考了很多的网页,受益非浅。SSH无密码登陆配置首先谈一谈ssh的无密码登陆问题。按照网上的说法,比如说A想无秘密登陆B。那么在A上使用ssh-keygen命令产生密钥id_rsa,和id_rsa.pub。然后将id_rsa.pub拷贝到B的相应的用户的主目录下面就可以了。cat 到 authoriz原创 2011-10-26 21:52:30 · 3603 阅读 · 0 评论 -
hadoop 中配置的问题namenode无法启动
在启动了ssh之后,再启动hadoop,然后使用bin/hadoop fs -ls命令,总是出现类似于下面这种的错误。10/03/15 19:43:10 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 0 time(s).……10/03/15 19:43:19原创 2011-10-21 15:37:18 · 10149 阅读 · 0 评论 -
并行算法的评价方法
并行算法通常包含三种评价的方法,用来评价算法各方面的优劣。1.speedup评测speedup的方法是,保持数据不变,增加计算机的数目。计算机数目为m时的speedup计算方法如下:speedup(m)=在一台机器上面使用的时间/在m台机器上面使用的时间。原创 2011-10-07 11:20:16 · 2249 阅读 · 0 评论 -
Hadoop中 使用自定义的Writable,作为value在map和reduce传递参数。
Hadoop中 使用自定义的Writable,作为value在map和reduce传递参数。似乎自始至终,传递参数时只有一个Writable存在。这个Writable采用readFields和write改变自身的值,然后传给reduce。因此在重载这两个函数的时候,一定要将上原创 2011-09-24 21:03:38 · 3428 阅读 · 1 评论 -
Hadoop中的全局变量
如果希望在一个类中申明一个全局的static变量,之后再在map函数中引用它。这种方式MapReduce是不支持的。 Hadoop不支持全局变量,也不建议使用全局变量。 但是如果使用的static变量是个常数,则可以通过JobConf进行变量传递。 关于全局变量,可以原创 2011-09-21 09:24:00 · 5197 阅读 · 1 评论 -
MapReduce中的排序
在map阶段的最后,首先调用job.setPartitionerClass对Map输出的List进行分区(partition),每个分区映射到一个reducer。每个分区内又调用job.setSortComparatorClass设置的key比较函数类排序。可以看到,这本身就转载 2011-09-13 14:47:27 · 1501 阅读 · 0 评论 -
setPartitionerClass、setOutputKeyComparatorClass 与 setOutputValueGroupingComparator
Partitioner这个类是用来决定map输出时,什么样的key输出到同一个reduce节点(调用setPartitionerClass方法),但不保证到同一个reduce节点的key会在同一个group(即不一定在reduce的同一个iter迭代里)。注:map端当输出buf转载 2011-09-04 13:45:51 · 6453 阅读 · 0 评论 -
DBSCAN与PDBSCAN
DBSCAN是一种图的任意形状聚类的方法在聚类的同时,希望剔除噪音。其中定义图中点之间的density-reachable、density-connected等关系,定义了eps-neighborhood的概念。并定义了一个cluster应该满足的条件一个是极大性原创 2011-09-05 21:18:43 · 4601 阅读 · 2 评论 -
使用MapReduce实现Pagerank算法
Pagerank算法的介绍可以参考Wikipedia。网络上很多关于Pagerank的原理介绍,但关于该算法的具体实现的资料却很缺乏。这两天我花了一些时间仔细琢磨了这个算法的具体实现。其中一种方法是基于内存实现的,前提是链接的节点ID都能够载入内存(可以用签名或者编号代替链接),转载 2011-09-04 18:16:43 · 5134 阅读 · 0 评论 -
MapReduce笔记
1.reduce和map类似,每个task内部可以共享静态类属性,每个task可能会多次调用reduce()函数,但每个key只对应某节点上的某个task的reduce()函数的一次执行2.多个tasks之间不能共享静态类属性,即使在同一台机器上,因为是以进程方式运行3.转载 2011-09-04 11:05:11 · 1013 阅读 · 0 评论 -
setOutputValueGroupingComparator与setOutputKeyComparatorClass
如果需要中间过程对key的分组规则和reduce前对key的分组规则不同,那么可以通过 JobConf.setOutputValueGroupingComparator(Class)来指定一个Comparator。再加上 JobConf.setOutputKeyComparato原创 2011-09-04 11:01:17 · 3275 阅读 · 0 评论 -
通过管道向 hadoop put 文件
原文:http://www.iteye.com/topic/588248使用 hadoop file shell 可以方便地向 hdfs put 文件,但是,该 shell 不支持从管道读取数据并放到 hdfs 文件中。它仅支持这样的 put 命令:cd $HADOOP_HOME bin/hadoop fs -put localfile $hdfsFile bin/hadoop转载 2011-11-01 10:35:50 · 2960 阅读 · 0 评论