山东大学软件工程应用与实践——Pig代码综述
2021SC@SDUSC
目录
一、Pig是什么?
二、Pig的特点
三、Pig安装部署
四、组内分工
一、Pig是什么?
Pig 是Apache平台下的一个免费开源项目,是MapReduce的一个抽象。它是一个工具,用于分析较大的数据集,并将其表示为数据流。常与Hadoop一起使用,可以使用Pig在Hadoop中执行所有的数据处理操作。
Pig提供的一种SQL-LIKE语言叫Pig Latin,该语言的编译器会把类SQL的数据分析请求转换为一系列经过优化处理的MapReduce运算。
二、Pig的特点
丰富的运算符集 - 它提供了许多运算符提供各种操作。
易于编程 - Pig Latin与SQL类似,是SQL-LIKE。
优化 执行- Apache Pig中的任务自动优化其执行。
可扩展性 - 用户可以通过已有操作开发自己的功能来实现。
用户定义函数 - Pig提供了在其他编程语言(如Java)中创建用户定义函数的功能,并且可以调用或嵌入到Pig脚本中。
处理各种数据 - Apache Pig分析各种数据,将结果存储在HDFS中。
三、Pig安装部署
Pig开源库网址:https://pig.apache.org/
1.下载Apache Pig0.17
2.解压
$ tar zxvf pig-0.17.tar.gz
3.进入配置Pig文件
$ vim /etc/profile
4.配置Pig环境
export PIG_HOME = /home/Hadoop/Pig export PATH = PATH:/home/Hadoop/pig/bin export PIG_CLASSPATH = $HADOOP_HOME/conf
5.检验安装
$ pig –version
四、组内分工
Apache Pig 架构
Parser(解析器)
最初,Pig脚本由解析器处理,它检查脚本的语法,类型检查和其他杂项检查。解析器的输出将是DAG(有向无环图),它表示Pig Latin语句和逻辑运算符。在DAG中,脚本的逻辑运算符表示为节点,数据流表示为边。
Optimizer(优化器)
逻辑计划(DAG)传递到逻辑优化器,逻辑优化器执行逻辑优化,例如投影和下推。
Compiler(编译器)
编译器将优化的逻辑计划编译为一系列MapReduce作业。
Execution engine(执行引擎)
最后,MapReduce作业以排序顺序提交到Hadoop。这些MapReduce作业在Hadoop上执行,产生所需的结果。
我主要负责backend(后端)中的Execution engine库的代码分析
山东大学软件工程应用与实践——Pig代码综述相关推荐
- <2021SC@SDUSC>博客(5)山东大学软件工程应用与实践JPress代码分析(四)
2021SC@SDUSC 前言 在前面三篇文章中,我对 JPress 项目的基础框架 JFinal 和 JBoot 在使用层面进行了拆解与分析.在接下来的文章中,我将在代码层面对 JPress 项目中 ...
- <2021SC@SDUSC>博客(9)山东大学软件工程应用与实践Jpress代码分析(8)
2021SC@SDUSC Lucene和ElasticSearch 在上一篇博客中提到的Elasticsearch是一个基于Lucene搜索引擎为核心构建的开源,分布式,RESTful搜索服务器.这里 ...
- 山东大学软件工程应用与实践——GMSSL开源库(四)——SM9数字签名算法及验证的源代码分析
2021SC@SDUSC 目录 一.引言 二.密钥的生成数字签名与签名验证相关代码 1.判定函数 2.签名的初始化函数 3.签名执行函数 4.真正的签名函数 5.签名验证初始化函数 6.签名验证执行函 ...
- 2021SC@SDUSC山东大学软件学院软件工程应用与实践--Ebiten代码分析 源码分析(三)
2021SC@SDUSC 目录 一.概述 二.代码分析 1.Update() 2.Draw() 3.Layout() 一.概述 本文将介绍ebiten在RunGame函数中逐帧执行的Update()方 ...
- 2021SC@SDUSC山东大学软件学院软件工程应用与实践--Ebiten代码分析 源码分析(四)
2021SC@SDUSC 目录 一.概述 二.代码分析 1.graphics.QuadVertices() 2.mipmap.Mipmap() 3.i.mipmap.DrawTriangles() 一 ...
- 2021SC@SDUSC山东大学软件学院软件工程应用与实践--YOLOV5代码分析(四)general.py-2
2021SC@SDUSC 目录 前言 is_writeable函数 is_docker函数 is_colab函数 is_pip函数 is_ascii函数 file_size函数 check_onlin ...
- 2021SC@SDUSC山东大学软件学院软件工程应用与实践--YOLOV5代码分析(八)plots.py-1
2021SC@SDUSC 前言 这篇分析plot.py文件,就如其名称一样,主要是一些用以展示的代码,也不是核心代码 外部库 from copy import copy from pathlib im ...
- 2021SC@SDUSC山东大学软件学院软件工程应用与实践--YOLOV5代码分析(十三)metrics.py-1
2021SC@SDUSC 前言 这篇分析metrics.py文件,这个文件是用来计算评估指标,包括mAP.混淆矩阵.IOU相关的函数. fitness函数 def fitness(x):# Model ...
- 山东大学软件工程应用与实践——GMSSL开源库(一) ——WINDOWS下GMSSL的安装与编译的超详细保姆级攻略
2021SC@SDUSC GMSSL简介 GmSSL是一个开源的密码工具箱,支持SM2/SM3/SM4/SM9/ZUC等国密(国家商用密码)算法.SM2国密数字证书及基于SM2证书的SSL/TLS安全 ...
最新文章
- 坚持学习打卡的人,将来会变成什么样?
- MySQL加索引语句不加锁:ALGORITHM=INPLACE, LOCK=NONE
- [react] 怎样有条件地渲染组件?
- linux date 常用格式,5、总结Linux常用命令使用格式,并用实例说明。例如echo、screen、date、ifconfig、export等命令...
- 知乎超万赞回答:中国有哪些「无心插柳柳成荫」的事情?
- 搜索 —— 启发式搜索 —— 模拟退火
- graph-easy使用简介
- dataguard日志传输模式解析_日志系统:从ELK到EFK的演进
- 可供创业团队技术开发参考的10条经验
- web 流程图工具_要什么第三方流程图制作软件,微软的Visio 2016不香吗?
- 【控制control】动力学基础
- 笔记 android 知乎,字节跳动团队发布Android Framework笔记,知乎上已获万赞
- T检验、F检验和统计学意义(P值或sig值)
- 胡灵 c语言,清华作业们男女主角现身
- Mac OS下FileVault encryption 使用原理与简介
- 一个简单的格式化信函生成器
- python access violation_Python x64下ctypes动态链接库出现access violation的原因分析
- 【Android SDM660源码分析】- 03 - UEFI XBL GraphicsOutput BMP图片显示流程
- MySQL日期差,时间差,使用DATEDIFF、TIMESTAMPDIFF函数
- i.MX - RT1052调教总结
热门文章
- 网络基础之邮件传输协议
- ❤️大家中秋节快乐❤️接下来请欣赏Python Opencv实战之图像阈值和模糊处理,万字实战,收藏起来吧~
- DDR2 ip调试问题集合
- 国家二级c语言程序设计技巧,国家二级C语言机考程序设计题技巧.doc
- PaddleHub--飞桨预训练模型应用工具{风格迁移模型、词法分析情感分析、Fine-tune API微调}【一】
- “话端午 做彩粽 包香包 传美德”端午节主题活动
- 华科计算机学院导师吕新桥,华中科技大学计算机学院导师和科研方向.doc
- 茄子快传 java,GitHub - liefyuan/KuaiChuan: 仿茄子快传的一款文件传输应用
- Xbox One 与PS4的终极PK
- h264 rtp FU-A