• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >云计算 > Apache Pig的前世今生,apachepig前世今生

Apache Pig的前世今生,apachepig前世今生

作者:网友 字体:[增加 减小] 来源:互联网

本文主要包含apachepig,peppa pig,pig,peppa pig英文版,dragon pig等服务器相关知识,网友希望可以进行参考

Apache Pig的前世今生,apachepig前世今生


最近,散仙用了几周的Pig来处理分析我们网站搜索的日志数据,感觉用起来很不错,今天就写篇笔记介绍下Pig的由来,除了搞大数据的人,可能很少有人知道Pig是干啥的,包括一些是搞编程的,但不是搞大数据的,还包括一些既不是搞编程的,也不是搞大数据的,而是从事其他行业的朋友,所以很有可能望文生义,一看标题,就乐了,心里就开始默默的翻译了===》 Apache 猪的笔记,看起来Apache的猪,比较厉害啊,都能写笔记了。 

开个玩笑,下面进入正题,散仙,尽量写的通俗易懂,让大家看了之后都能够理解这头Pig到底是干什么的。 

Pig最早是雅虎公司的一个基于Hadoop的并行处理架构,后来Yahoo将Pig捐献给Apache(一个开源软件的基金组织)的一个项目,由Apache来负责维护,Pig是一个基于 Hadoop的大规模数据分析平台,它提供的SQL-like语言叫Pig Latin,该语言的编译器会把类SQL的数据分析请求转换为一系列经过优化处理的MapReduce运算。Pig为复杂的海量数据并行计算提供了一个简 易的操作和编程接口,这一点和FaceBook开源的Hive(一个以SQL方式,操作hadoop的一个开源框架)一样简洁,清晰,易上手! 

那么雅虎公司主要使用Pig来干什么呢? 

1)吸收和分析用户的行为日志数据(点击流分析、搜索内容分析等),改进匹配和排名算法,以提高检索和广告业务的质量。 
2)构建和更新search index。对于web-crawler抓取了的内容是一个流数据的形式,这包括去冗余、链接分析、内容分类、基于点击次数的受欢迎程度计算(PageRank)、最后建立倒排表。 
3)处理半结构化数据订阅(data seeds)服务。包括:deduplcaitin(去冗余),geographic location resolution,以及 named entity recognition. 

使用Pig来操作hadoop处理海量数据,是非常简单的,如果没有Pig,我们就得手写MapReduce代码,这可是一件非常繁琐的事,因为MapReduce的任务职责非常明确,清洗数据得一个job,处理得一个job,过滤得一个job,统计得一个job,排序得一个job,编写DAG(带先后顺序依赖的)作业很不方便,这还可以接受,但是每次只要改动很小的一个地方,就得重新编译整个job,然后打成jar提交到Hadoop集群上运行,是非常繁琐的,调试还很困难,所以,在现在的大互联网公司或者是电商公司里,很少有纯写MapReduce来处理各种任务的,基本上都会使用一些工具或开源框架来操作。 


随着,数据海啸的来临,传统的DB(Oracle、DB2)已经不能满足海量数据处理的需求,MapReduce逐渐成为了数据处理的事实标准,被应用到各行各业中。所以,我们不再期望所有的客户都能快速开发应用相关代码,只能把客户的工作变得简单,就像使用SQL语言,经过简单培训就可以“云”上操作。 

Pig就是为了屏蔽MapReduce开发的繁琐细节,为用户提供Pig Latin这样近SQL语言处理能力,让用户可以更方便地处理海量数据。Pig将SQL语句翻译成MR的作业的集合,并通过数据流的方式将其组合起来。 

Pig的一个简单处理流程,如下所示: 

254fb9d9-e8a9-3938-b785-371745bd0668.png 
执行引擎如下所示: 
aaeaf202-7acf-31ba-ab3c-d9be329e2efe.jpg 

在Pig里面,每一步操作,都是一个数据流,非常容易理解,你想要什么,它就能得到什么,即使不能得到,我们也可以通过轻松扩展UDF来实现,比SQL更容易理解,每一步要做什么,非常容易上手和学习,在大数据时代,了解和使用Pig来分析海量数据是非常容易的。 

最后告诉大家一个好消息,在最新的Pig(0.14)发行版里,有两个重要的特性: 
(1)支持Pig运行在Tez上 
(2)支持Orc格式的存储 

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Apache Pig的前世今生,apachepig前世今生

相关文章

  • 1006-hive的自定义UDF函数,1006-hiveudf函数
  • 亚马逊是如何颠覆商业软件高昂价格这座”柏林墙”的,商业软件柏林墙
  • Nodejs课堂笔记-第四课 Dynamodb为何物,nodejsdynamodb
  • CDH5 hadoop-hive-habse单机版配置,hadoophivehbase
  • Hadoop之——Linux基本命令回顾,hadooplinux回顾
  • HBase,hbase安装
  • CentOS 下面解决libvirt版本过低、升级冲突问题,centoslibvirt
  • Docker 使用方法总结之:镜像,docker总结
  • 微软小冰、小娜不久相会在中国,微软相会在中国
  • 深入理解Scala 标识符,命名和域,深入理解scala

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • CDH安装官方教程,cdh官方教程
    • Docker 使用方法总结之:容器的基本操作,docker基本操作
    • Hadoop新版和旧版中InputSplit大小的区别,hadoopinputsplit
    • 程序员必备的代码审查(Code Review)清单,codereview
    • Hadoop源码分析----RPC反射机制,hadoop----rpc
    • openstack 用nova API 指定 compute node 创建 instance,openstackcompute
    • myeclipse2013 建的web项目没有web.xml,myeclipse中web.xml
    • Elasticsearch 之 Facet,elasticsearchfacet
    • hive中使用case、if:一个region统计业务(hive条件函数case、if、COALESCE语法介绍:CONDITIONAL FUNCTIONS IN HIVE),hivenotin
    • SSH无密码登陆配置,ssh无密码登陆

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有