Google的Sawzall,Yahoo的Pig和微软的Dryad
2007-05-07 10:12
603 查看
Google的Sawzall,Yahoo的Pig和微软的Dryad
欢迎订阅作者微博
Greg 最近写了篇介绍Google,Yahoo,微软三大巨头公司分布式架构的Blog。这就是:Google的Sawzall,Yahoo的Pig
猪和微软的Dryad 。
这真是一个信息爆炸的时代,在这个大背景里消耗CPU最多的计算会越来越多从“软件本身性能提升”逐渐转移到信息处理的过程中。描述计算速度提高的摩尔定 律,据说现在还仍然有效,可 ”Andy giveth, and Bill taketh away“ 的名言似乎应该改为:"Andy giveth, and
google(...) taketh away" 了。
言归正传,Yahoo猪年行大礼,在五一期间放出了:PIG 猪 。(猪非彼猪
) Yahoo Pig 是一个运行在Hadoop(Doug Cutting
在06年3月份加入了Yahoo )上的并行处理架构,有了Pig 使得普通的程序员具有了分析处理gigantic数据集的能力。附带一下 Hadoop 基本进入了实用阶段 Amazon 的
EC2
和S3已经在使用了Hadoop了。
Yahoo Pig 有如下特点:
1、专注于于大量数据集分析(ad-hoc analysis , ad-hoc 代表:a solution that has been custom designed for a specific problem
);
2、运行在集群的计算架构上,Yahoo Pig 提供了多层抽象,简化并行计算让普通用户使用;这些抽象完成自动把用户请求queries翻译成有效的并行评估计划,然后在物理集群上执行这些计划;
3、提供类似 SQL 的操作语法;
4、开放源代码;
从对 Yahoo Pig 的了解来看,推荐大家使用,Google Sawzall 和 Microsoft Dryad 就别指望了。
Google Sawzall 是google labs 很早就释放出来了,虽然两者都是定位于分布式并行计算的架构,实现方式却大相径庭。
Sawzall 是基于MapReduce 的,变成语法类似于 java 和 c 语言。
下面是 Sawzall 代码的例子:
下面是Pig 代码的例子:
很显然,如果大家需要对结构化(半结构化)的数据进行分析处理时 Pig 的 SQL 的语法更便于掌握。
具体参考Yahoo Pig 的其他例子:
Pig Latin Examples:
Example 1: Word Count
Example 2: Map/Reduce
Example 3: Pages and Queries
Example 4: PageRank
无独有偶,微软的Dryad 集成Linq (随着.net 2.0 正式发布了) 后叫:
DryadLINQ 。从个人角度讲我一直看好 Linq 这个产品,出身Aders不说,程序语言和数据处理合2为1对简单的Insert ,update ,delete,query 完全应该集成起来。这一点也是我喜欢Rails的原因吧。
目前微软的 Dryad 已经在
Microsoft's AdCenter 投入使用。
我想用Yahoo Pig 的话,做 Log 分析应该比较适合。
参考资料: sourcelab
Dryad: Distributed Data-Parallel Programs from Sequential Building Blocks
MapReduce BBS
欢迎订阅作者微博
Greg 最近写了篇介绍Google,Yahoo,微软三大巨头公司分布式架构的Blog。这就是:Google的Sawzall,Yahoo的Pig
猪和微软的Dryad 。
这真是一个信息爆炸的时代,在这个大背景里消耗CPU最多的计算会越来越多从“软件本身性能提升”逐渐转移到信息处理的过程中。描述计算速度提高的摩尔定 律,据说现在还仍然有效,可 ”Andy giveth, and Bill taketh away“ 的名言似乎应该改为:"Andy giveth, and
google(...) taketh away" 了。
言归正传,Yahoo猪年行大礼,在五一期间放出了:PIG 猪 。(猪非彼猪
) Yahoo Pig 是一个运行在Hadoop(Doug Cutting
在06年3月份加入了Yahoo )上的并行处理架构,有了Pig 使得普通的程序员具有了分析处理gigantic数据集的能力。附带一下 Hadoop 基本进入了实用阶段 Amazon 的
EC2
和S3已经在使用了Hadoop了。
Yahoo Pig 有如下特点:
1、专注于于大量数据集分析(ad-hoc analysis , ad-hoc 代表:a solution that has been custom designed for a specific problem
);
2、运行在集群的计算架构上,Yahoo Pig 提供了多层抽象,简化并行计算让普通用户使用;这些抽象完成自动把用户请求queries翻译成有效的并行评估计划,然后在物理集群上执行这些计划;
3、提供类似 SQL 的操作语法;
4、开放源代码;
从对 Yahoo Pig 的了解来看,推荐大家使用,Google Sawzall 和 Microsoft Dryad 就别指望了。
Google Sawzall 是google labs 很早就释放出来了,虽然两者都是定位于分布式并行计算的架构,实现方式却大相径庭。
Sawzall 是基于MapReduce 的,变成语法类似于 java 和 c 语言。
下面是 Sawzall 代码的例子:
proto "querylog.proto" static RESOLUTION: int = 5; # minutes; must be divisor of 60 log_record: QueryLogProto = input; queries_per_degree: table sum[t: time][lat: int][lon: int] of int; loc: Location = locationinfo(log_record.ip); if (def(loc)) { t: time = log_record.time_usec; m: int = minuteof(t); # within the hour m = m - m % RESOLUTION; t = trunctohour(t) + time(m * int(MINUTE)); emit queries_per_degree[t][int(loc.lat)][int(loc.lon)] <- 1; }
下面是Pig 代码的例子:
a = COGROUP QueryResults BY url, Pages BY url; b = FOREACH a GENERATE FLATTEN(QueryResults.(query, position)), FLATTEN(Pages.pagerank); c = GROUP b BY query; d = FILTER c BY checkTop5(*);
很显然,如果大家需要对结构化(半结构化)的数据进行分析处理时 Pig 的 SQL 的语法更便于掌握。
具体参考Yahoo Pig 的其他例子:
Pig Latin Examples:
Example 1: Word Count
Example 2: Map/Reduce
Example 3: Pages and Queries
Example 4: PageRank
无独有偶,微软的Dryad 集成Linq (随着.net 2.0 正式发布了) 后叫:
DryadLINQ 。从个人角度讲我一直看好 Linq 这个产品,出身Aders不说,程序语言和数据处理合2为1对简单的Insert ,update ,delete,query 完全应该集成起来。这一点也是我喜欢Rails的原因吧。
目前微软的 Dryad 已经在
Microsoft's AdCenter 投入使用。
我想用Yahoo Pig 的话,做 Log 分析应该比较适合。
参考资料: sourcelab
Dryad: Distributed Data-Parallel Programs from Sequential Building Blocks
MapReduce BBS
相关文章推荐
- Google的Sawzall,Yahoo的Pig猪和微软的Dryad
- 微软反对Yahoo和Google结为搜索广告联盟
- Google, 微软,Apple以及Yahoo业务对比分析
- 微软反对Yahoo和Google结为搜索广告联盟
- 疯子去Google,老朽去Yahoo,傻子还在微软【ZZ】
- 微软在网络上又推新举,挑战Google, Yahoo
- Google搜索市占在美持续上扬 Yahoo/微软下滑
- 疯子去Google 老朽去yahoo 傻子还在微软 (zt)
- Google骂微软夸 Facebook开源数据中心王国
- 微软、google、雅虎、百度等各大著名公司的经典面试题!保证搞晕你!!
- 基于微软Dryad分布式并行计算平台云技术的研究
- 微软:我家的深度学习超越了人类和Google
- Google和微软哪个更可怕?
- 分享代码 Twitter,Facebook,Google,Yahoo,Linkedined
- Google搅局决战微软!四大浏览器全新横向评测(作者:咖啡豆豆)
- Google是否会成为下一个微软?
- 抓取 在线翻译(Google、Yahoo)
- 微软、Google等公司的面试题及解答、第61-70题
- 微软、Google等公司非常好的面试题及解答、第61-70题
- Google CEO Eric Schmidt:微软和雅虎威胁不大,我们害怕的是新的云计算公司