山东大学软件工程应用与实践PIG小组代码综述

2021SC@SDUSC

目录

一、项目概述

Pig是Apache项目的一个子项目,Pig提供了一个支持大规模数据分析的平台。Pig包括用来描述数据分析程序的高级程序语言,以及对这些程序进行评估的基础结构。Pig突出的特点就是它的结构经得起大量并行任务的检验,这使得它能够处理大规模数据集。

目前Pig的基础结构层包括一个产生MapReduce程序的编译器。Pig的语言层包括一个叫做PigLatin的文本语言,它具有以下几个特征:

  • 易于编程:实现简单的和高度并行的数据分析任务非常容易。由相互关联的数据转换实例所组成的复杂任务被明确地编码为数据流,这是他们的编写更加容易,同时也更容易理解和维护。

  • 自动优化:任务编码的方式允许系统自动去优化执行过程,从而使用户能够专注于语义,而非效率。

  • 可扩展性:用户可以轻松编写自己的函数来进行特殊用途的处理。

二、项目准备

  • 1.下载 pig-0.17.0.tar.gz

  • 2.解压。输入命令:
    tar -zxvf pig-0.17.0.tar.gz

  • 3.环境变量配置。
    修改配置文件,输入命令:
    vi /etc/profile
    配置文件:

#set pig environment
export PIG_HOME=/usr/local/pig
export PATH=$PATH:$PIG_HOME/bin

重新加载文件,使配置生效输入命令:
source /etc/profile

  • 4.进入目录pig的conf目录下,编辑pig.properties文件添加两行:
fs.default.name=hdfs://192.168.1.100:9000
mapred.job.tracker=192.168.1.100:9001
  • 5.输入安装成功
  • pig -version

三、组内分工

  • PIG的架构是这样的:
    山东大学软件工程应用与实践PIG小组代码综述
    主要有四部分构成分别是:

  • Parser(解析器)
    最初,Pig脚本由解析器处理,它检查脚本的语法,类型检查和其他杂项检查。解析器的输出将是DAG(有向无环图),它表示Pig Latin语句和逻辑运算符。在DAG中,脚本的逻辑运算符表示为节点,数据流表示为边。

  • Optimizer(优化器)
    逻辑计划(DAG)传递到逻辑优化器,逻辑优化器执行逻辑优化,例如投影和下推。

  • Compiler(编译器)
    编译器将优化的逻辑计划编译为一系列MapReduce作业。

  • Execution engine(执行引擎)
    最后,MapReduce作业以排序顺序提交到Hadoop。这些MapReduce作业在Hadoop上执行,产生所需的结果
    我主要负责的是: Parser(解析器)部分。

上一篇:重复元素判定


下一篇:使用创建对象传递新对象进行赋值