您现在的位置 >> Hadoop教程 >> Hadoop实战 >> 专题  
 

GoogleSawzall、YahooPig和微软Dryad

【作者:Hadoop实战专家】【关键词:微软 集群 数据集 并行计算 Google 】 【点击:89202次】【2013-03-0】
Greg 最近写了篇介绍Google,Yahoo,微软三大巨头公司分布式架构的Blog。(猪非彼猪 ) Yahoo Pig 是一个运行在Hadoop(Doug Cutting 在06年3月份加入了Yahoo )上的并行处理架构,有了Pig 使得普通的程序员具有了分析处理gigantic数据集的能力。 文章来自 田春峰的blog  

相关热门搜索:

大数据标签:hadoop mapreduce bigdata

GoogleSawzall、YahooPig和微软Dryad
更新时间: 2007-05-14 作者: 田春峰的blog
关键词: Dryad Sawzall 微软 Yahoo Google

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

文章来自 田春峰的blog

大数据系列相关文章:

最新评论
Kahlua2014-09-10 07:37:28
日后再说
小渔2014-09-10 01:59:06
Candy加入本群
???2014-09-10 12:28:57
Cisco’s Hadoop-Based Security Tool http://t.cn/8sH8i0s
亨吻夫2014-09-08 07:31:25
lrt是根据时间倒序排列的,不是递归的
沉沦_20152014-09-08 12:46:24
伟大的宝贵加入本群
hoohoo2014-09-07 10:24:56
Linux内核开发技术今日推荐: http://t.cn/8FObC9Y 大数据Hadoop相关技术今日推荐: http://t.cn/8FH0cdT Linux系统虚拟化技术今日推荐: http://t.cn/8F82nGP
易传楷2014-09-06 03:53:17
if ngx.arg[2] then
刘文钊Henry2014-09-05 11:29:51
软件定义存储应用EMC ViPR发布第一次更新,增加对Hadoop和EMC的Storage Resource Management Suite的支持,朝着最终支持所有同行友商的存储阵列和通用硬件的目标又前进一步。http://t.cn/8sCyOVe
一起开心2014-09-04 08:15:30
【Guagua:PayPal的Hadoop迭代式计算框架】Hadoop迭代式计算框架Guagua是PayPal的一个开源机器学习框架Shifu的子项目,已经于今年四月开源。张彭善是Guagua的主要开发人员。InfoQ中文站编辑近日对张彭善进行了采访,了解这个框架的开发背景和应用状况。RPVVE7J by @lazycai
Gabinbin2014-09-04 04:11:14
不成熟的技术,果然不是那么好混的
 
  • Hadoop生态系统资料推荐