- 博客(103)
- 收藏
- 关注
原创 文件在使用FileChannel.map后不能被删除(Windows上)
同事发现在Windows上使用FileChannel的map方法之后, 不能够删除掉文件. 我在Linux上试了一下, 发现没这个问题。 做个笔记, 记录一下. [code="java"]import java.io.File;import java.io.RandomAccessFile;import java.lang.reflect.Method;import java....
2013-01-06 18:07:24
946
原创 警惕使用jvm参数CMSRefProcTaskProxy
昨天中午的时候, 团队的兄弟找我看一个现象: 原先因为堆外内存使用过多会crash掉的java应用, 设置了最大堆外内存量(MaxDirectMemorySize)后jvm不会crash, 但出现了机器的两颗CPU全部被占满, 而且java程序没有响应的情况. 我用jstat -gc/-gcutil/-gccause查了一下当时gc的情况, 发现出现过CMS GC, 最后一次导...
2012-10-31 10:19:41
287
原创 从Java视角理解伪共享(False Sharing)
从Java视角理解系统结构连载, 关注我的微博([url="http://weibo.com/coderplay"]链接[/url])了解最新动态 从我的[url="http://coderplay.iteye.com/blog/1485760"]前一篇博文[/url]中, 我们知道了CPU缓存及缓存行的概念, 同时用一个例子说明了编写单线程Java代码时应该注意的问题. 下面我们讨论更为...
2012-04-19 18:34:49
299
原创 从Java视角理解CPU缓存(CPU Cache)
从Java视角理解系统结构连载, 关注我的微博([url="http://weibo.com/coderplay"]链接[/url])了解最新动态众所周知, CPU是计算机的大脑, 它负责执行程序的指令; 内存负责存数据, 包括程序自身数据. 同样大家都知道, 内存比CPU慢很多. 其实在30年前, CPU的频率和内存总线的频率在同一个级别, 访问内存只比访问CPU寄存器慢一点儿. 由于内...
2012-04-14 21:54:41
221
原创 从Java视角理解CPU上下文切换(Context Switch)
从Java视角理解系统结构连载, 关注我的微博([url="http://weibo.com/coderplay"]链接[/url])了解最新动态在高性能编程时,经常接触到多线程. 起初我们的理解是, 多个线程并行地执行总比单个线程要快, 就像多个人一起干活总比一个人干要快. 然而实际情况是, 多线程之间需要竞争IO设备, 或者竞争锁资源,导致往往执行速度还不如单个线程. 在这里有一个经常...
2012-04-11 15:35:18
302
抛砖引玉, 淘宝统一离线数据分析平台设计
把这个拿出来的目的, 是想得到更多的反馈意见, 请邮件至zhouchen.zm@taobao.com[size=large]历史[/size]Hive 由 2009 年 3 月引入淘宝作为数据平台的海量数据分析基础框架, 引入的原因有如下几点: (1) 不是所有用户都懂计算机编程, 特别是 MapReduce 的分布式程序, 并且数据平台的用户大多数会 SQL, Hive...
2011-11-03 22:58:35
214
HDFS的一致性分析
这篇文章去年4月左右写的, 一直留在我的草稿箱, 一直没有写完 :)在分析HDFS的一致性之前, 我们先得解决HDFS客户端行为的几个问题。[b][size=large]1. 为什么HDFS不支持多个writer同时写一个文件,即不支持并发写?[/size][/b]首先谈一谈HDFS产生的历史。HDFS是根据Google的GFS论文所实现的, 初期时它的主要设计目标是为了存储M...
2011-06-01 17:02:38
975
NameNode优化笔记 (一)
很久没有发博客了, 最近这段时间工作上、生活上杂事比较多。最近经常有人问我在学校还是在公司。其实之前在学校读研, 入研之前工作过几年。那时候在学校研究MapReduce, 部署了10台的PC机做些Hadoop与机器学习的研究。08年末觉得学校限制我的发展, 就联系了几家公司实习。最后我到了淘宝实习了一年半, 那时候因为身份还是学生, 前期主要维护淘宝的Hadoop集群, 后期主要研发Hive, 同...
2011-01-12 10:32:08
324
我在Hadoop云计算会议的演讲
点击下载演讲稿由中科院计算所主办的“Hadoop 中国2010云计算大会”于9月4日在北京召开。淘宝网作为国内最大的Hadoop应用商之一赞助与参与了这次会议。我有幸代表淘宝在大会上分享了淘宝在分布式数据处理实践的内容,下面是ppt的一个节选:淘宝网目前有会员2亿左右,日均UV高达4000万,日交易量高达10亿元,每天产生大量的数据,所以部署了一系列不同规模的Hadoop集群。淘宝...
2010-10-26 14:59:11
268
1
原创 分布式online与offline设计 slides
花了两个小时简单了做了一个ppt,给兄弟公司相关人员讲解offline分析(例如hadoop,hive, pig这种应用)与online(例如bigtable, hbase)在设计上的不同,希望能解开大家对两种不同应用在设计上的一些误区。...
2010-08-25 00:24:18
180
演讲: Hadoop与数据分析
前些天受金山软件公司西山居朋友的邀请, 去了趟珠海与金山的朋友们分享Hadoop与数据分析的相关经验.附件是此次分享的ppt, 里面有一些图是来自网上。 ...
2010-05-29 20:35:49
199
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
219
原创 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
177
原创 HDFS的追加/刷新/读设计
hdfs将在0.21版(尚未发布),把DFSOutputStream中的fsync操作(实际上是sync方法)更名为hflush, 因为之前的fsync做的工作实际上不是同步数据到磁盘,而是刷新(flush)缓存。fsync功能可能会在以后的版本中添加。 DFS对于未关闭文件的数据提供最大努力持久:1. NameNode持久化文件元数据信息,但不持久化文件由哪些块组成的信息。重启Nam...
2010-01-26 00:26:48
319
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
236
用户推荐Slope One算法与mapreduce&hive实现
下载本文代码用户推荐越来越热, Google使用MinHash, PLSI, LDA, SVD, SVM等算法,分析用户的喜好, 实现新闻的自动分类;新浪也用Slope One以及一些Item-based的算法对音乐进行推荐; 淘宝定期会启动MapReduce作业分析前一天或者一个月用户收藏的宝贝,给相同喜好的买家提供推荐服务。本文要描述的Slope One算法是一种对评分进行预测...
2009-09-14 20:23:58
281
hive权限控制
对hive的元数据表结构要作以下调整:hive用户不与表有直接关系,表没有owner,只有能看见(能操作)/不能看见(不能操作)某个表之分。所以TBLS表应当去掉Owner字段。对于CLI版本还是有一些冲突。目前Hive的CLI是运行在hive本地, 各用户使用各自的配置。配置里有元数据所在持久层(我们使用的是mysql)的位置,所以得有此库的写权限。一般情况下,每个用户对应自己的一个m...
2009-09-07 14:35:53
177
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
300
Hive的一些问题
偏激了一点.总体来说Hive的思想是不错的, 思路是清晰的, 但代码也是啰嗦的, 简单的功能非得涉及到3,4个类,有时候十多个类。 1. 实现代码过量使用自己造的术语以及由它们引申的术语,导致代码理解起来非常困难, 例如SerDe(DynamicSerDe, LazySimpleSerDe), 如果说SerDe从字面Deserializer+Serializer还比较好理解的话. 那么...
2009-06-01 16:51:58
167
出道distinct相关的sql题给大家做做
这几天在做sql编译相关的东西, 自己弄了个题目,连资深数据库开发人员都可能会搞错. 以下sql中哪些执行时会报错? (适于所有常见DBMS)1.select distinct colfrom tbl2.select distinct col1, distinct col2from tbl 3.select coun...
2009-05-22 20:13:07
131
hive的编译模块设计
很少在博客里写翻译的东西, 这次例外. 原文在这儿. 译文掺杂了些自己的表述。解析器(Parser)解析器 由antlr生成, 文法定义在Hive.g文件中。它的功能是将查询字符串翻译成抽象语法树(Abstract Syntax Tree, 简称AST).语法分析器(Semantic Analyzer)语法分析器将AST转换成内部查询形式,此形式为查询块(Query Blo...
2009-05-22 15:39:23
122
HIVE问答, 某天的hadoop群聊天记录
某天晚上在hadoop群里一时兴起, 回答了一些hive相关的问题, hive的初学者可以看看 :) 梁建: hive 主要用于 结构化数据 吗? 我: 结构化数据 梁建: hadoop 0.19.1 和 那个 hive 版本 配置 我: 它走的是传统数据库, 有compiler解析sql,形成mapreduce任务 我: hive都支...
2009-05-07 17:10:00
130
暨南大学并行计算实验室MapReduce研究现状
4月份在学校花了半小时做的一个ppt, 内容是我们在应用hadoop集群上的一些监控、调试、调优经验, hadoop的改造思路及我们的分布式数据挖掘项目介绍。有一些东西做了删减,请下载附件。...
2009-05-04 21:20:26
172
几种数据库的jdbc驱动实现
要实现自己的JDBC驱动,最重要的是实现以下几个接口:java.sql.Driver java.sql.Connectionjava.sql.Statementjava.sql.ResultSet这篇文章讲解了如何实现一个简单的jdbc驱动: http://www.javaworld.com/javaworld/jw-05-2002/jw-0517-jdbcdriver.h...
2009-05-02 23:00:48
350
convex optimization笔记: 第二章, 凸集
[color=red]请使用非IE浏览器,如firefox,opera等浏览, IE会把\转义成/ [/color][size=medium]仿射和凸集通过[img]http://www.texify.com/img/x_1,x_2.gif[/img][b]直线[/b]上所有的点都满足:[align=center][img]http://www.texify.com/img/\...
2009-03-21 12:07:37
224
convex optimization笔记: 第一章
[color=red]请使用非IE浏览器,如firefox,opera等浏览, IE会把\转义成/[/color]PS.很多中文翻译把optimization problem翻译成最优化问题, 而convex optimization翻译成凸优化。这里做个统一,optimization problem翻译成优化问题。[size=medium][b]数学优化问题[/b],或[b]...
2009-03-21 02:02:54
349
数学编辑测试
[color=red]请使用非IE浏览器,如firefox,opera等浏览, IE会把\转义成/[/color][size=x-large]最优化理论:[/size]给出关于η和ξ,它们满足如下关系:[img]http://www.texify.com/img/\LARGE%21\eta=a+b\xi^c.gif[/img],但是a,b,c却是未知的,只知道一些关于η和ξ的取值样本,...
2009-03-14 15:56:49
214
SVM的并行化
目前我在SVM的并行化方面已经有解法. SVM在数学上的本质是凸优化理论, 可以有很多种解法。 它的问题具有对偶性, 从原问题出发和从对偶问题出发。传统SVM在大数据集下,它的核矩阵要占用的内存非常大,呈平方地递增。 也就是说1000个数据占用的内存会是100个数据占用的内存的100 倍。为了解决此问题,涉及到SVM的分解,极端的情况下是使用SMO算法,这也是目前SVM最流行的解法。 SMO算法每...
2009-03-10 13:33:02
2064
几个搜索相关的pdf(lucene, 分词等)
写文档时, 偶然发现很久以前的东西,给大家分享一下. 现在lucene已经过了这个版本, 已经有OpenBitSet这种好东西了.~ 1. lucene2.3.2的变更2. 疱丁解牛分词器分析3. 几种分词器精度和速度的比较 Lucene2.3.2的变更Author: Jeremy Chow(coderplay@gmail.com)Last Modified: Aug 1...
2009-02-26 15:01:50
239
hadoop上最多到底能放多少个文件?
这主要取决于NameNode的内存。因为DFS集群运行时,文件结构会保存在NameNode的内存当中。DFS每个文件信息和 块信息大约都要占150字节。所以如果复制因子为1,每个文件占一个block, 那么16G内存可以存 16 * (2^30) / 300 = 57 m , 即5.7 千万 个文件。...
2009-02-11 18:25:41
687
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
177
hadoop源码分析之MapReduce(二)
任务的申请、派发与执行TaskTracker.run()连接JobTracker TaskTracker的启动过程会初始化一系列参数和服务(另有单独的一节介绍),然后尝试连接JobTracker服务(即必须实现InterTrackerProtocol接口),如果连接断开,则会循环尝试连接JobTracker,并重新初始化所有成员和参数,此过程参见run()方法。TaskT...
2009-01-18 22:14:57
98
hadoop源码分析
blog挺难贴图的, 我已经建了一个开源的项目, 用来存放文档.请见: http://code.google.com/p/hana最近有些私人工作上的问题要占用时间,而且学校网络上不了国外网站了. 所以暂时不能更新. 以后会持续更新, 会放在svn里....
2008-12-26 15:37:05
99
hadoop源码分析之MapReduce(一)
hadoop的源码已经粗看过一遍,但每次想要了解细节的时候,还得去翻代码. 看了又是忘记. 所以我决定这些天把其中的重要的细节记下来。声明:1. 本文假设读者已经掌握一些MapReduce的基本概念,曾经编写过MapReduce程序。2. 此源代码分析是基于hadoop svn的trunk之上(目前0.20.0-dev),由于hadoop正在换新的MapReduce api(or...
2008-12-16 13:08:08
171
怎么停止和重新启用hadoop的DataNode
停止比如我原来有10个节点的集群. 现在我想停掉2个,但数据不能丢失,只能让它们的数据转移到其它8台上.这道过程就是decommission. 我们不能直接把那2台停掉, 要在停掉之前把数据转移出去.首先建立一个excludes文件.它是一个文本, 里面每行就是想要停掉的主机名.这里excludes 放在 $HADOOP_HOME下 例如CS02CS03CS04CS05CS06...
2008-12-11 15:17:11
1745
关于本体论及语意搜索的一些资料
本体论的概念, wikihttp://en.wikipedia.org/wiki/Ontology_(information_science)有点像专家系统, 应该是prolog的专长. 语义搜索http://www.powerset.comhttp://www.hakia.com/http://www.evri.com...
2008-11-13 01:47:04
121
关于redpoll中使用mahout模块,而没有沿用其中算法的解答
接到mail, 公布出来省得再有提问 :) 首先, 我要实现的canopy和kmeans算法都是固定的,本来我不必要重新实现这些算法。我是暂时加入mahout-*.jar,因为里面的SparseVector,省得我再去实现一遍。但我没用其中的算法, 因为我去年就发现mathout的实现有以下以个问题: 1.它的CanopyMapper默认读取的是SparseVector.asFo...
2008-11-07 19:03:37
122
怎么在hadoop作map/reduce时输出N种不同类型的value
BTW:再次感叹下没有机器, 3.4G的语料,单机处理了10来个小时, 真是郁闷~~ 要是有N台机器多好啊. 在很多时候,特别是处理大数据的时候,我们希望一道MapReduce过程就可以解决几个问题。这样可以避免再次读取数据。比如:在做文本聚类/分类的时候,mapper读取语料,进行分词后,要同时算出每个词条(term)的term frequency以及它的document frequency...
2008-10-30 04:46:35
435
最近项目进展及Hadoop自定义InputFormat
题外话: 请关注http://code.google.com/p/redpoll 如果有人可以提供10台左右普通机器测就好了,学校实验室不给这么多,俺已经写了一篇paper, 程序啥都好了,就差数据, 真郁闷。 进展比较慢, 走了些弯路, 不过最终还是理清了。开始考虑文档聚类后,要能通过文档的id定位到该文档的内容。而且这个id最好是整型,或者long型,而搜狐新闻...
2008-10-27 03:04:44
115
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人