在hadoop里写了点东西,大概也印证了有怎样的环境才有怎样的解决方案. 确实,在hadoop里,不像在一台机器上,能比较容易的mutex操作. 毕竟,你要mutex 的东西都不知道物理上在什么地方,甚至还存在不存在. 所有,这个是思维要转变的地方. 在分布式情况下,有时候create比read/write来得更浅显易懂. 毕竟,除了delete操作,其他操作都不会影响create的行为. 而且,当delete操作也依赖于create的某些标志性行为的时候,一切都简化到create操作上了. 比如,要进行任何操作,先create一个标志,表明holding了这个resource. 当然,这中间也还是会有些问题的. 比如,在hadoop里,这依赖于namenode操作的正确性. 某种程度上说,这种解决方法其实是利用了namenode的单点性. 由于所有对hdfs的操作都需要汇总反馈到namenode上 ,所以,用namenode去拦截调度也是很容易想到的思路. 毕竟,所谓的一致性,是由namenode保证的. 但是,如果是纯粹的对等网络呢? 比如,没有namenode的? 其实最后还是会归结到这种有中间节点的模型上. 比如hadoop准备改造的mapreduce模型. 实际上就是去掉的jobtracker的这个单独的job调度节点,把它分散到开来. 也就是实际上来所,是在tasktracker上vote一个节点作为某一个job的jobtracker罢了. 这其实有时典型的分层思维. 跟ip地址的掩码模式差不多. 加一层即可虚拟出许多隔离的东西出来. resource manager就是这个新加的一层. 所以,从这个程度上来说,也许并没有纯粹的对等模型. 多少还是有一些中心节点的. 只不过这种中心节点的特殊性不强罢了. 就像人的选举一样. 本质都是差不多的. 只是由于某些原因变得有些特殊罢了. 所以,平等这个东西,首先是建立在公平之上. 没有公平,也就没有平等. 话说回来,hadoop或者说map reduce这个东西,也许又是Google重新修饰了一番的东西. 就像Bigtable的概念一样,重新包装了下,以不太直观的形式描述一个很简单的模型/思路. mapreduce其实就是把计算分摊到各台机器上罢了. 即使不用hadoop,写个脚本自己分块数据自己计算汇总也是可以的. 只不过hadoop本身解决了分块的问题. 而所谓的map/reduce过程,则多少有些无谓? 毕竟,redcue本身其实也是一种map过程. 至少从hadoop的实现上来说,是这样. 而且,hadoop本身似乎也是这么认为的. 这个从job的combine设置以及,不显式设置reduce数目的时候,job的行为可以看出. 本质上说,hadoop的reduce过程只是map的特例. 所不同的是output出来的数量分块比较少. 当然,从编程接口上来说,reduce跟map的区别在于,reduce是key的一个汇总. 但其实这是map output的sort使然. reduce也不过是根据output结果去取罢了. 所以,其实mapreuce本质上就是一个数据格式的转换问题. 只不过被放到到了分布式的情况下. 多了调度和同步的问题. 除开这些,mapreduce也许什么都不是.
2011-03-26
关于Hadoop
订阅:
博文评论 (Atom)
一些猜想
下午偶然翻到篇Google的论文. 大意是能对LLM直接更新某些参数来达到控制输出了. 这个放开了想,大致就相当于能定位到某些功能所实际激活/需要的部分. 医学上的等价理解就是知道脑部的特定区域的作用影响了. 工程上来说,一旦变得实际可行就有可能大规模地减少参数和算力需求. 从这...
-
下午查了下关于仿制药的一点东西. 首先是关于一致性定义的相关文件. 简单的Google一般会指向NMPA/国家药监局的一些关于 化学药品注射剂仿制药质量和疗效一致性评价技术要求 的相关政策公告或者是更早期一些的关于这个文件起草意见稿. 一般理解的西药就是指化学药品. 这个文件本...
-
看完了一部未完成的电影. 这部片片子比较有意思的是一开始那段自嘲. 秦昊关于既然拍了也播不了,只是私下小圈子里自嗨的事情又什么意义的质问. 片里导演也 讪讪地承认生活的现实. 到这里其实沿着原有的思路,把补拍和一些意外穿插进去,可能还是一个不错的文艺片. 至少于戏里戏外的导演来说...
-
最近在补觉醒年代,发觉有几点细节蛮有意思的. 或者蛮值得把玩的. 一个是新青年单价2毛多. 按照0.2银元理解的话,相当于现在什么概念呢? Gemini给的人均年收入数据在5-30银元的区间,因沿海和地区已经行业属性而不同. 按30银元年收入等价现在6k月社平工资换算的话,大概一...
没有评论:
发表评论