mapreduce¶llel
coderplay
这个作者很懒,什么都没留下…
展开
-
mpich2集群的几个要点
1. ssh 这东西连起来真麻烦, 比如有三台机器有10,20,30 要建ssh的有: 10->20,20->10, 10->30,30->10, 20->30, 30->20 最少要建连接数是一个排列数A(n, 2), 其中n代表节点数, 2代表任选两个节点. 3个节点得有A(3, 2) = 6.2. 如果是用root用户, 则mp...2007-06-23 15:19:07 · 434 阅读 · 0 评论 -
hadoop改进方面的胡思乱想
1. 我做数据挖掘的时候, 经常需要只对key分组,不必排序。目前把sort类给设为null能处理,但还是不尽人意。hadoop的机制是通过一个circle buffer 收集mapper输出的东西, 到了io.sort.mb * percent量的时候,就spill到disk, 而spill前使用排序,默认快排。 之后reduce下载spill的东西, 进行merge, merge的时候使用了堆...2009-02-04 10:57:52 · 161 阅读 · 0 评论 -
hadoop上最多到底能放多少个文件?
这主要取决于NameNode的内存。因为DFS集群运行时,文件结构会保存在NameNode的内存当中。DFS每个文件信息和 块信息大约都要占150字节。所以如果复制因子为1,每个文件占一个block, 那么16G内存可以存 16 * (2^30) / 300 = 57 m , 即5.7 千万 个文件。...2009-02-11 18:25:41 · 638 阅读 · 0 评论 -
avro编译
avro是doug cutting主持的rpc项目,有点类似google的protobuf和facebook的thrift. avro用来做以后hadoop的rpc, 使hadoop的rpc模块通信速度更快,数据结构更紧凑。还有一个很令人兴奋的一点,就是支持多种语言,例如: c/c++,java,python。 这就意味着我们用c写hdfs文件,可以不用烦人的jni; 提交一个job也可以直接是p...2009-07-04 00:36:22 · 260 阅读 · 0 评论 -
TFile, SequenceFile与gz,lzo压缩的测试
先记一记,以后解释 :) $hadoop jar tfile-0.00.1-dev.jar org.apache.hadoop.io.file.tfile.TestTFileSeqFileComparison -c gz -f seqfile -r /home/zhoumin/tmp -x rw -b 65536 -s 1024 === SeqFile: Creation (KLEN:...2010-01-07 22:47:59 · 216 阅读 · 0 评论 -
HDFS的追加/刷新/读设计
hdfs将在0.21版(尚未发布),把DFSOutputStream中的fsync操作(实际上是sync方法)更名为hflush, 因为之前的fsync做的工作实际上不是同步数据到磁盘,而是刷新(flush)缓存。fsync功能可能会在以后的版本中添加。 DFS对于未关闭文件的数据提供最大努力持久:1. NameNode持久化文件元数据信息,但不持久化文件由哪些块组成的信息。重启Nam...原创 2010-01-26 00:26:48 · 293 阅读 · 0 评论 -
Anthill: 一种基于MapReduce的分布式DBMS
MapReduce is a parallel computing model proposed by Google for large data sets, it’s proved to have high availability, good scalability and fault tolerance, and has been widely used in recent years. H...原创 2010-05-11 22:47:44 · 144 阅读 · 0 评论 -
hive权限控制
对hive的元数据表结构要作以下调整:hive用户不与表有直接关系,表没有owner,只有能看见(能操作)/不能看见(不能操作)某个表之分。所以TBLS表应当去掉Owner字段。对于CLI版本还是有一些冲突。目前Hive的CLI是运行在hive本地, 各用户使用各自的配置。配置里有元数据所在持久层(我们使用的是mysql)的位置,所以得有此库的写权限。一般情况下,每个用户对应自己的一个m...2009-09-07 14:35:53 · 156 阅读 · 0 评论 -
Hadoop的Mapper是怎么从HDFS上读取TextInputFormat数据的
[code="java"]LineRecordReader.next(LongWritable key, Text value) LineReader.readLine(Text str, int maxLineLength, int maxBytesToConsume) DataInputStream.read(byte b[]) /* DFSDataInputStream...2010-05-29 11:46:30 · 192 阅读 · 0 评论 -
演讲: Hadoop与数据分析
前些天受金山软件公司西山居朋友的邀请, 去了趟珠海与金山的朋友们分享Hadoop与数据分析的相关经验.附件是此次分享的ppt, 里面有一些图是来自网上。 ...2010-05-29 20:35:49 · 164 阅读 · 0 评论 -
分布式online与offline设计 slides
花了两个小时简单了做了一个ppt,给兄弟公司相关人员讲解offline分析(例如hadoop,hive, pig这种应用)与online(例如bigtable, hbase)在设计上的不同,希望能解开大家对两种不同应用在设计上的一些误区。...原创 2010-08-25 00:24:18 · 163 阅读 · 0 评论 -
NameNode优化笔记 (一)
很久没有发博客了, 最近这段时间工作上、生活上杂事比较多。最近经常有人问我在学校还是在公司。其实之前在学校读研, 入研之前工作过几年。那时候在学校研究MapReduce, 部署了10台的PC机做些Hadoop与机器学习的研究。08年末觉得学校限制我的发展, 就联系了几家公司实习。最后我到了淘宝实习了一年半, 那时候因为身份还是学生, 前期主要维护淘宝的Hadoop集群, 后期主要研发Hive, 同...2011-01-12 10:32:08 · 291 阅读 · 0 评论 -
我在Hadoop云计算会议的演讲
点击下载演讲稿由中科院计算所主办的“Hadoop 中国2010云计算大会”于9月4日在北京召开。淘宝网作为国内最大的Hadoop应用商之一赞助与参与了这次会议。我有幸代表淘宝在大会上分享了淘宝在分布式数据处理实践的内容,下面是ppt的一个节选:淘宝网目前有会员2亿左右,日均UV高达4000万,日交易量高达10亿元,每天产生大量的数据,所以部署了一系列不同规模的Hadoop集群。淘宝...2010-10-26 14:59:11 · 227 阅读 · 1 评论 -
hadoop源码分析之MapReduce(二)
任务的申请、派发与执行TaskTracker.run()连接JobTracker TaskTracker的启动过程会初始化一系列参数和服务(另有单独的一节介绍),然后尝试连接JobTracker服务(即必须实现InterTrackerProtocol接口),如果连接断开,则会循环尝试连接JobTracker,并重新初始化所有成员和参数,此过程参见run()方法。TaskT...2009-01-18 22:14:57 · 88 阅读 · 0 评论 -
hadoop源码分析
blog挺难贴图的, 我已经建了一个开源的项目, 用来存放文档.请见: http://code.google.com/p/hana最近有些私人工作上的问题要占用时间,而且学校网络上不了国外网站了. 所以暂时不能更新. 以后会持续更新, 会放在svn里....2008-12-26 15:37:05 · 82 阅读 · 0 评论 -
hadoop源码分析之MapReduce(一)
hadoop的源码已经粗看过一遍,但每次想要了解细节的时候,还得去翻代码. 看了又是忘记. 所以我决定这些天把其中的重要的细节记下来。声明:1. 本文假设读者已经掌握一些MapReduce的基本概念,曾经编写过MapReduce程序。2. 此源代码分析是基于hadoop svn的trunk之上(目前0.20.0-dev),由于hadoop正在换新的MapReduce api(or...2008-12-16 13:08:08 · 139 阅读 · 0 评论 -
通过shell在linux上运行hadoop的真面目
<!-- @page { size: 21cm 29.7cm; margin: 2cm } P { margin-bottom: 0.21cm } --> /usr/lib/jvm/java-6-sun/bin/java -Xmx1000m -Dhadoop.log.dir=/home/hadoop01/hadoop/hadoop-...2007-11-19 22:07:20 · 212 阅读 · 0 评论 -
hadoop的几点经验
1. 机器较多时, 编辑各个节点的/etc/hosts文件会很麻烦, 一般会架一个dns服务器进行解析.2. 实现WritableComparable接口定义自己的写入方式时, 要注意hashCode()方法. 默认是使用Object.hashCode()这样的话, 会用对象的引用做为hashcode. Mapper会将相同key中hashCode()相同的聚在一起发送给Reducer.比如T...2008-09-29 10:46:30 · 160 阅读 · 0 评论 -
行业词库收集程序已经开源
前些天国庆在家,没网上. 地址在http://code.google.com/p/wordseeker/采用Apache协议,对商业友好.2008-10-07 12:26:10 · 4055 阅读 · 0 评论 -
近期会做的项目
1. 大规模文本自动聚类。目前实验条件有限,只能做到G级别,语料采用搜狐的新闻。用mapreduce并行化分词,建立VSM。采用经典的tf/idf。然后并行化的canopy算法进行粗分再用并行化的k-means,余弦距离度量进行最后的聚类思路已经想得非常清楚了,接下来就是写代码,得出数据。2. 大规模文本自动分类。采用svm或naive bayes算法,前面几步已经想清,最后的并行化...2008-10-11 17:01:21 · 79 阅读 · 0 评论 -
最近项目进展及Hadoop自定义InputFormat
题外话: 请关注http://code.google.com/p/redpoll 如果有人可以提供10台左右普通机器测就好了,学校实验室不给这么多,俺已经写了一篇paper, 程序啥都好了,就差数据, 真郁闷。 进展比较慢, 走了些弯路, 不过最终还是理清了。开始考虑文档聚类后,要能通过文档的id定位到该文档的内容。而且这个id最好是整型,或者long型,而搜狐新闻...2008-10-27 03:04:44 · 97 阅读 · 0 评论 -
怎么在hadoop作map/reduce时输出N种不同类型的value
BTW:再次感叹下没有机器, 3.4G的语料,单机处理了10来个小时, 真是郁闷~~ 要是有N台机器多好啊. 在很多时候,特别是处理大数据的时候,我们希望一道MapReduce过程就可以解决几个问题。这样可以避免再次读取数据。比如:在做文本聚类/分类的时候,mapper读取语料,进行分词后,要同时算出每个词条(term)的term frequency以及它的document frequency...2008-10-30 04:46:35 · 405 阅读 · 0 评论 -
hadoop的reducer输出多个文件
有时候我们想到这样的功能: reducer能根据key(或value)值来输出多个文件,同一key(或value)处于同一个文件中。现在hadoop的0.17.x版本可以重写MultipleOutputFormat的generateFileNameForKeyValue就可以实现此功能。比如:[code="java"]package org.apache.hadoop.mapred...2008-05-08 19:39:40 · 524 阅读 · 0 评论 -
暨南大学并行计算实验室MapReduce研究现状
4月份在学校花了半小时做的一个ppt, 内容是我们在应用hadoop集群上的一些监控、调试、调优经验, hadoop的改造思路及我们的分布式数据挖掘项目介绍。有一些东西做了删减,请下载附件。...2009-05-04 21:20:26 · 149 阅读 · 0 评论 -
HIVE问答, 某天的hadoop群聊天记录
某天晚上在hadoop群里一时兴起, 回答了一些hive相关的问题, hive的初学者可以看看 :) 梁建: hive 主要用于 结构化数据 吗? 我: 结构化数据 梁建: hadoop 0.19.1 和 那个 hive 版本 配置 我: 它走的是传统数据库, 有compiler解析sql,形成mapreduce任务 我: hive都支...2009-05-07 17:10:00 · 120 阅读 · 0 评论 -
hive的编译模块设计
很少在博客里写翻译的东西, 这次例外. 原文在这儿. 译文掺杂了些自己的表述。解析器(Parser)解析器 由antlr生成, 文法定义在Hive.g文件中。它的功能是将查询字符串翻译成抽象语法树(Abstract Syntax Tree, 简称AST).语法分析器(Semantic Analyzer)语法分析器将AST转换成内部查询形式,此形式为查询块(Query Blo...2009-05-22 15:39:23 · 105 阅读 · 0 评论 -
Hive的一些问题
偏激了一点.总体来说Hive的思想是不错的, 思路是清晰的, 但代码也是啰嗦的, 简单的功能非得涉及到3,4个类,有时候十多个类。 1. 实现代码过量使用自己造的术语以及由它们引申的术语,导致代码理解起来非常困难, 例如SerDe(DynamicSerDe, LazySimpleSerDe), 如果说SerDe从字面Deserializer+Serializer还比较好理解的话. 那么...2009-06-01 16:51:58 · 143 阅读 · 0 评论 -
怎么停止和重新启用hadoop的DataNode
停止比如我原来有10个节点的集群. 现在我想停掉2个,但数据不能丢失,只能让它们的数据转移到其它8台上.这道过程就是decommission. 我们不能直接把那2台停掉, 要在停掉之前把数据转移出去.首先建立一个excludes文件.它是一个文本, 里面每行就是想要停掉的主机名.这里excludes 放在 $HADOOP_HOME下 例如CS02CS03CS04CS05CS06...2008-12-11 15:17:11 · 1676 阅读 · 0 评论 -
抛砖引玉, 淘宝统一离线数据分析平台设计
把这个拿出来的目的, 是想得到更多的反馈意见, 请邮件至zhouchen.zm@taobao.com[size=large]历史[/size]Hive 由 2009 年 3 月引入淘宝作为数据平台的海量数据分析基础框架, 引入的原因有如下几点: (1) 不是所有用户都懂计算机编程, 特别是 MapReduce 的分布式程序, 并且数据平台的用户大多数会 SQL, Hive...2011-11-03 22:58:35 · 194 阅读 · 0 评论