版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大数据与云计算知识点Pig简介Pig最早是雅虎公司的一个基于Hadoop的并行处理架构,后来Yahoo将Pig捐献给Apache(一个开源软件的基金组织)的一个项目,由Apache来负责维护,Pig是一个基于Hadoop的大规模数据分析平台,它提供的SQL-like语言叫PigLatin。一、引言该语言的编译器会把类SQL的数据分析请求转换为一系列经过优化处理的MapReduce运算。Pig为复杂的海量数据并行计算提供了一个简易的操作和编程接口,这一点和非死book开源的Hive(一个以SQL方式,操作hadoop的一个开源框架)一样简洁,清晰,易上手!吸收和分析用户的行为日志数据(点击流分析、搜索内容分析等),改进匹配和排名算法,以提高检索和广告业务的质量。01构建和更新searchindex。对于web-crawler抓取了的内容是一个流数据的形式,这包括去冗余、链接分析、内容分类、基于点击次数的受欢迎程度计算(PageRank)、最后建立倒排表。02处理半结构化数据订阅(dataseeds)服务。包括:deduplcaitin(去冗余),geographiclocationresolution,以及namedentityrecognition。03那么雅虎公司主要使用Pig来干什么呢?使用Pig来操作hadoop处理海量数据,是非常简单的,如果没有Pig,我们就得手写MapReduce代码,这可是一件非常繁琐的事,因为MapReduce的任务职责非常明确,清洗数据得一个job,处理得一个job,过滤得一个job,统计得一个job,排序得一个job,编写DAG(带先后顺序依赖的)作业很不方便。这还可以接受,但是每次只要改动很小的一个地方,就得重新编译整个job,然后打成jar提交到Hadoop集群上运行,是非常繁琐的,调试还很困难,所以,在现在的大互联网公司或者是电商公司里,很少有纯写MapReduce来处理各种任务的,基本上都会使用一些工具或开源框架来操作。随着,数据海啸的来临,传统的DB(Oracle、DB2)已经不能满足海量数据处理的需求,MapReduce逐渐成为了数据处理的事实标准,被应用到各行各业中。所以,我们不再期望所有的客户都能快速开发应用相关代码,只能把客户的工作变得简单,就像使用SQL语言,经过简单培训就可以“云”上操作。Pig就是为了屏蔽MapReduce开发的繁琐细节,为用户提供PigLatin这样近SQL语言处理能力,让用户可以更方便地处理海量数据。Pig将SQL语句翻译成MR的作业的集合,并通过数据流的方式将其组合起来。Pig是一个构建在Hadoop之上,用来处理大规模数据集的脚本语言平台。其设计思想来源于谷歌的Sawzall,最初由雅虎团队开发,并与2008年9月贡献给Apache。程序员或分析师只需要根据业务逻辑写好数据流脚本,Pig会将写好的数据流处理脚本翻译成多个HDFS、Map和Reduce操作。二、概念Pig相当于一个Hadoop的客户端,它先连接到Hadoop集群,之后才能在集群上进行各种操作。Pig的基本框架如下图:Pig包括两部分,一部分是用于描述数据流的语言,称为PigLatin;另一部分则是用于运行PigLatin程序的执行环境。PigLatin程序由一系列的operation和transformation组成,Pig内部解释器会将这些变换操作转换成一系列的HDFS操作和MapReduce作业,这些操作整体上描述了一个数据流。当需要处理海量数据时,先用PigLatin语言编写PigLatin数据处理脚本,然后在Pig中执行PigLatin程序,Pig会自动将PigLatin脚本翻译成MapReduce作业,上传到集群,并启动执行。对用户来说,底层的MapReduce工作完全是透明的,用户只需要了解SQL-Like的PigLatin语法,就可以驱动强大的集群。但Pig不适合所有的数据处理任务,和MapReduce一样,它是为数据批处理而设计的。如果只想查询大数据集中的一小部分数据,Pig的实现不会很好,因为它要扫描整个数据集或绝大部分数据。2
Mapredure模式:需要访问hadoop集群,它和我们前面的操作环境一样,要搭建hadoop集群,并且要装上HDFS。由于Pig只相当于Hadoop的一个客户端,用户所写的PigLatin经翻译器翻译后再提交集群执行,故只要在客户机上部署Pig即可,下面的命令即是在iClient上部署Pig。1
本地模式:只涉及到一台计算机(local模式)三、pig运行环境PigLatin是Pig的专用语言,它是类似于SQL的面向数据流语言,这套脚本语言提供了对数据进行排序、过滤、求和、分组、关联等各种操作,此外,用户还可以自定义一些函数(User-DefinedFunctions,UDF),以满足某些特殊的数据处理要求。四、pig语法PigLatin的数据类型1、基本数据类型和大部分程序语言类似,Pig的基本数据类型为int、long、float、double、chararray和bytearray。2、复杂数据类型:字符串或基本类型与字符串的组合,主要包含以下四种。Filed:存放一个原子类型数据,如一个字符串或一个数字等,如'lucy’。Tuple:Field的序列,其中每个File可以是任何一种基本类型,如('lucy','1234’)。Bag:Tuple集合。每个Tuple可以包含不同数目不同类型的Field,如五、PigLatin运算符Pig Latin提供了算术、比较、关系等运算符,这
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川省申论模拟159
- 天津面试模拟27
- 2024年约稿合同样本
- 2024年幕墙施工承包经营协议书
- 四川行政职业能力模拟77
- 浙江公务员面试模拟53
- 2024年个人住房公积金借款合同范本
- 2015年6月23日上午内蒙古公务员面试真题
- 2024年二手房买卖合同补充协议范文
- 2024年项目合作出资协议书范本
- 教育系统公共工程项目建设管理内控制度
- 危化品泄漏应急处置手册
- 2021-2022学年江苏省苏州市太仓市五年级(上)期中英语试卷
- 零售行业数字化转型
- 降低库存实施成果报告存货原因、对策实施与效果确认
- 围场满族蒙古族自治县鑫科矿业物资有限公司朝阳湾叶腊石矿地下开采项目建设项目环境影响评价报告书
- 劳动关系协调员测试题库及答案
- 贵州省织金县三坝煤矿详查探矿权出让收益评估报告
- 云南省地图含市县地图矢量分层地图行政区划市县概况ppt模板
- 秦朝的法律制度
- GB/T 38661-2020电动汽车用电池管理系统技术条件
评论
0/150
提交评论