自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 807

原创 警惕使用jvm参数CMSRefProcTaskProxy

昨天中午的时候, 团队的兄弟找我看一个现象: 原先因为堆外内存使用过多会crash掉的java应用, 设置了最大堆外内存量(MaxDirectMemorySize)后jvm不会crash, 但出现了机器的两颗CPU全部被占满, 而且java程序没有响应的情况. 我用jstat -gc/-gcutil/-gccause查了一下当时gc的情况, 发现出现过CMS GC, 最后一次导...

2012-10-31 10:19:41 209

原创 从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 221

原创 从Java视角理解CPU缓存(CPU Cache)

从Java视角理解系统结构连载, 关注我的微博([url="http://weibo.com/coderplay"]链接[/url])了解最新动态众所周知, CPU是计算机的大脑, 它负责执行程序的指令; 内存负责存数据, 包括程序自身数据. 同样大家都知道, 内存比CPU慢很多. 其实在30年前, CPU的频率和内存总线的频率在同一个级别, 访问内存只比访问CPU寄存器慢一点儿. 由于内...

2012-04-14 21:54:41 169

原创 从Java视角理解CPU上下文切换(Context Switch)

从Java视角理解系统结构连载, 关注我的微博([url="http://weibo.com/coderplay"]链接[/url])了解最新动态在高性能编程时,经常接触到多线程. 起初我们的理解是, 多个线程并行地执行总比单个线程要快, 就像多个人一起干活总比一个人干要快. 然而实际情况是, 多线程之间需要竞争IO设备, 或者竞争锁资源,导致往往执行速度还不如单个线程. 在这里有一个经常...

2012-04-11 15:35:18 199

抛砖引玉, 淘宝统一离线数据分析平台设计

把这个拿出来的目的, 是想得到更多的反馈意见, 请邮件至[email protected][size=large]历史[/size]Hive 由 2009 年 3 月引入淘宝作为数据平台的海量数据分析基础框架, 引入的原因有如下几点: (1) 不是所有用户都懂计算机编程, 特别是 MapReduce 的分布式程序, 并且数据平台的用户大多数会 SQL, Hive...

2011-11-03 22:58:35 179

HDFS的一致性分析

这篇文章去年4月左右写的, 一直留在我的草稿箱, 一直没有写完 :)在分析HDFS的一致性之前, 我们先得解决HDFS客户端行为的几个问题。[b][size=large]1. 为什么HDFS不支持多个writer同时写一个文件,即不支持并发写?[/size][/b]首先谈一谈HDFS产生的历史。HDFS是根据Google的GFS论文所实现的, 初期时它的主要设计目标是为了存储M...

2011-06-01 17:02:38 907

NameNode优化笔记 (一)

很久没有发博客了, 最近这段时间工作上、生活上杂事比较多。最近经常有人问我在学校还是在公司。其实之前在学校读研, 入研之前工作过几年。那时候在学校研究MapReduce, 部署了10台的PC机做些Hadoop与机器学习的研究。08年末觉得学校限制我的发展, 就联系了几家公司实习。最后我到了淘宝实习了一年半, 那时候因为身份还是学生, 前期主要维护淘宝的Hadoop集群, 后期主要研发Hive, 同...

2011-01-12 10:32:08 283

我在Hadoop云计算会议的演讲

点击下载演讲稿由中科院计算所主办的“Hadoop 中国2010云计算大会”于9月4日在北京召开。淘宝网作为国内最大的Hadoop应用商之一赞助与参与了这次会议。我有幸代表淘宝在大会上分享了淘宝在分布式数据处理实践的内容,下面是ppt的一个节选:淘宝网目前有会员2亿左右,日均UV高达4000万,日交易量高达10亿元,每天产生大量的数据,所以部署了一系列不同规模的Hadoop集群。淘宝...

2010-10-26 14:59:11 199 1

原创 分布式online与offline设计 slides

花了两个小时简单了做了一个ppt,给兄弟公司相关人员讲解offline分析(例如hadoop,hive, pig这种应用)与online(例如bigtable, hbase)在设计上的不同,希望能解开大家对两种不同应用在设计上的一些误区。...

2010-08-25 00:24:18 156

演讲: Hadoop与数据分析

前些天受金山软件公司西山居朋友的邀请, 去了趟珠海与金山的朋友们分享Hadoop与数据分析的相关经验.附件是此次分享的ppt, 里面有一些图是来自网上。 ...

2010-05-29 20:35:49 143

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 182

原创 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 133

原创 HDFS的追加/刷新/读设计

hdfs将在0.21版(尚未发布),把DFSOutputStream中的fsync操作(实际上是sync方法)更名为hflush, 因为之前的fsync做的工作实际上不是同步数据到磁盘,而是刷新(flush)缓存。fsync功能可能会在以后的版本中添加。 DFS对于未关闭文件的数据提供最大努力持久:1. NameNode持久化文件元数据信息,但不持久化文件由哪些块组成的信息。重启Nam...

2010-01-26 00:26:48 275

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 205

用户推荐Slope One算法与mapreduce&hive实现

下载本文代码用户推荐越来越热, Google使用MinHash, PLSI, LDA, SVD, SVM等算法,分析用户的喜好, 实现新闻的自动分类;新浪也用Slope One以及一些Item-based的算法对音乐进行推荐; 淘宝定期会启动MapReduce作业分析前一天或者一个月用户收藏的宝贝,给相同喜好的买家提供推荐服务。本文要描述的Slope One算法是一种对评分进行预测...

2009-09-14 20:23:58 230

hive权限控制

对hive的元数据表结构要作以下调整:hive用户不与表有直接关系,表没有owner,只有能看见(能操作)/不能看见(不能操作)某个表之分。所以TBLS表应当去掉Owner字段。对于CLI版本还是有一些冲突。目前Hive的CLI是运行在hive本地, 各用户使用各自的配置。配置里有元数据所在持久层(我们使用的是mysql)的位置,所以得有此库的写权限。一般情况下,每个用户对应自己的一个m...

2009-09-07 14:35:53 147

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 251

Hive的一些问题

偏激了一点.总体来说Hive的思想是不错的, 思路是清晰的, 但代码也是啰嗦的, 简单的功能非得涉及到3,4个类,有时候十多个类。 1. 实现代码过量使用自己造的术语以及由它们引申的术语,导致代码理解起来非常困难, 例如SerDe(DynamicSerDe, LazySimpleSerDe), 如果说SerDe从字面Deserializer+Serializer还比较好理解的话. 那么...

2009-06-01 16:51:58 129

出道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 111

hive的编译模块设计

很少在博客里写翻译的东西, 这次例外. 原文在这儿. 译文掺杂了些自己的表述。解析器(Parser)解析器 由antlr生成, 文法定义在Hive.g文件中。它的功能是将查询字符串翻译成抽象语法树(Abstract Syntax Tree, 简称AST).语法分析器(Semantic Analyzer)语法分析器将AST转换成内部查询形式,此形式为查询块(Query Blo...

2009-05-22 15:39:23 94

HIVE问答, 某天的hadoop群聊天记录

某天晚上在hadoop群里一时兴起, 回答了一些hive相关的问题, hive的初学者可以看看 :)  梁建:    hive 主要用于 结构化数据 吗? 我:    结构化数据 梁建:    hadoop 0.19.1 和 那个  hive 版本 配置 我:    它走的是传统数据库, 有compiler解析sql,形成mapreduce任务 我:    hive都支...

2009-05-07 17:10:00 112

暨南大学并行计算实验室MapReduce研究现状

4月份在学校花了半小时做的一个ppt,  内容是我们在应用hadoop集群上的一些监控、调试、调优经验, hadoop的改造思路及我们的分布式数据挖掘项目介绍。有一些东西做了删减,请下载附件。...

2009-05-04 21:20:26 132

几种数据库的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 306

并行支持向量机

学校开题的东西,分享一下。

2009-04-13 12:48:50 272

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 185

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 296

数学编辑测试

[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 180

SVM的并行化

目前我在SVM的并行化方面已经有解法. SVM在数学上的本质是凸优化理论, 可以有很多种解法。 它的问题具有对偶性, 从原问题出发和从对偶问题出发。传统SVM在大数据集下,它的核矩阵要占用的内存非常大,呈平方地递增。 也就是说1000个数据占用的内存会是100个数据占用的内存的100 倍。为了解决此问题,涉及到SVM的分解,极端的情况下是使用SMO算法,这也是目前SVM最流行的解法。 SMO算法每...

2009-03-10 13:33:02 1869

几个搜索相关的pdf(lucene, 分词等)

写文档时, 偶然发现很久以前的东西,给大家分享一下. 现在lucene已经过了这个版本, 已经有OpenBitSet这种好东西了.~ 1. lucene2.3.2的变更2. 疱丁解牛分词器分析3. 几种分词器精度和速度的比较 Lucene2.3.2的变更Author: Jeremy Chow([email protected])Last Modified: Aug 1...

2009-02-26 15:01:50 186

hadoop上最多到底能放多少个文件?

这主要取决于NameNode的内存。因为DFS集群运行时,文件结构会保存在NameNode的内存当中。DFS每个文件信息和 块信息大约都要占150字节。所以如果复制因子为1,每个文件占一个block,  那么16G内存可以存 16 * (2^30) / 300 = 57 m , 即5.7 千万 个文件。...

2009-02-11 18:25:41 616

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 153

hadoop源码分析之MapReduce(二)

 任务的申请、派发与执行TaskTracker.run()连接JobTracker TaskTracker的启动过程会初始化一系列参数和服务(另有单独的一节介绍),然后尝试连接JobTracker服务(即必须实现InterTrackerProtocol接口),如果连接断开,则会循环尝试连接JobTracker,并重新初始化所有成员和参数,此过程参见run()方法。TaskT...

2009-01-18 22:14:57 79

hadoop源码分析

blog挺难贴图的,  我已经建了一个开源的项目, 用来存放文档.请见:  http://code.google.com/p/hana最近有些私人工作上的问题要占用时间,而且学校网络上不了国外网站了. 所以暂时不能更新. 以后会持续更新, 会放在svn里....

2008-12-26 15:37:05 69

hadoop源码分析之MapReduce(一)

      hadoop的源码已经粗看过一遍,但每次想要了解细节的时候,还得去翻代码. 看了又是忘记. 所以我决定这些天把其中的重要的细节记下来。声明:1. 本文假设读者已经掌握一些MapReduce的基本概念,曾经编写过MapReduce程序。2. 此源代码分析是基于hadoop svn的trunk之上(目前0.20.0-dev),由于hadoop正在换新的MapReduce api(or...

2008-12-16 13:08:08 129

怎么停止和重新启用hadoop的DataNode

停止比如我原来有10个节点的集群. 现在我想停掉2个,但数据不能丢失,只能让它们的数据转移到其它8台上.这道过程就是decommission. 我们不能直接把那2台停掉, 要在停掉之前把数据转移出去.首先建立一个excludes文件.它是一个文本, 里面每行就是想要停掉的主机名.这里excludes 放在 $HADOOP_HOME下 例如CS02CS03CS04CS05CS06...

2008-12-11 15:17:11 1627

关于本体论及语意搜索的一些资料

本体论的概念, 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 90

关于redpoll中使用mahout模块,而没有沿用其中算法的解答

接到mail, 公布出来省得再有提问 :)  首先, 我要实现的canopy和kmeans算法都是固定的,本来我不必要重新实现这些算法。我是暂时加入mahout-*.jar,因为里面的SparseVector,省得我再去实现一遍。但我没用其中的算法, 因为我去年就发现mathout的实现有以下以个问题: 1.它的CanopyMapper默认读取的是SparseVector.asFo...

2008-11-07 19:03:37 81

怎么在hadoop作map/reduce时输出N种不同类型的value

BTW:再次感叹下没有机器, 3.4G的语料,单机处理了10来个小时, 真是郁闷~~ 要是有N台机器多好啊. 在很多时候,特别是处理大数据的时候,我们希望一道MapReduce过程就可以解决几个问题。这样可以避免再次读取数据。比如:在做文本聚类/分类的时候,mapper读取语料,进行分词后,要同时算出每个词条(term)的term frequency以及它的document frequency...

2008-10-30 04:46:35 385

最近项目进展及Hadoop自定义InputFormat

    题外话: 请关注http://code.google.com/p/redpoll    如果有人可以提供10台左右普通机器测就好了,学校实验室不给这么多,俺已经写了一篇paper, 程序啥都好了,就差数据, 真郁闷。       进展比较慢, 走了些弯路, 不过最终还是理清了。开始考虑文档聚类后,要能通过文档的id定位到该文档的内容。而且这个id最好是整型,或者long型,而搜狐新闻...

2008-10-27 03:04:44 87

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除