首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Hadoop学习之Pig

Hadoop学习之Pig

一、关于Pig:别以为猪不能干活1.1 Pig的简介    Compare:相比Java的MapReduce API,Pig为大型数据集的处理提供了更高层次的抽象,与MapReduce相比,Pig提供了更丰富的数据结构,一般都是多值和嵌套的数据结构。Pig还提供了一套更强大的数据变换操作,包括在MapReduce中被忽视的连接Join操作。

Pig包括两部分:

    用于描述数据流的语言,称为Pig Latin。
    用于执行Pig Latin程序的执行环境,当前有两个环境:单JVM中的本地执行环境和Hadoop集群上的分布式执行环境。
      
    Pig内部,每个操作或变换是对输入进行数据处理,然后产生输出结果,这些变换操作被转换成一系列MapReduce作业,Pig让程序员不需要知道这些转换具体是如何进行的,这样工程师可以将精力集中在数据上,而非执行的细节上。

1.2 Pig的特点

(1)专注于于大量数据集分析;
(2)运行在集群的计算架构上,Yahoo Pig 提供了多层抽象,简化并行计算让普通用户使用;这些抽象完成自动把用户请求queries翻译成有效的并行评估计划,然后在物理集群上执行这些计划;
(3)提供类似 SQL 的操作语法;
(4)开放源代码;
1.3 Pig与Hive的区别

对于开发人员,直接使用Java APIs可能是乏味或容易出错的,同时也限制了Java程序员在Hadoop上编程的运用灵活性。于是Hadoop提供了两个解决方案,使得Hadoop编程变得更加容易。

    Pig是一种编程语言,它简化了Hadoop常见的工作任务。Pig可加载数据、表达转换数据以及存储最终结果。Pig内置的操作使得半结构化数据变得有意义(如日志文件)。同时Pig可扩展使用Java中添加的自定义数据类型并支持数据转换。

    Hive在Hadoop中扮演数据仓库的角色。Hive添加数据的结构在HDFS,并允许使用类似于SQL语法进行数据查询。与Pig一样,Hive的核心功能是可扩展的。

Pig和Hive总是令人困惑的。Hive更适合于数据仓库的任务,Hive主要用于静态的结构以及需要经常分析的工作。Hive与SQL相似促使 其成为Hadoop与其他BI工具结合的理想交集。Pig赋予开发人员在大数据集领域更多的灵活性,并允许开发简洁的脚本用于转换数据流以便嵌入到较大的应用程序。Pig相比Hive相对轻量,它主要的优势是相比于直接使用Hadoop Java APIs可大幅削减代码量。正因为如此,Pig仍然是吸引大量的软件开发人员。
二、Pig的安装配置
2.1 准备工作

下载pig的压缩包,这里使用的是pig-0.11.1版本,已经上传至了百度网盘中

(1)通过FTP工具上传到虚拟机中,可以选择XFtp、CuteFTP等工具

(2)解压缩

tar -zvxf pig-0.11.1.tar.gz

(3)重命名

mv pig-0.11.1 pig

(4)修改/etc/profile,增加内容如下,最后重新生效配置文件source /etc/profile

     export PIG_HOME=/usr/local/pig
    export PATH=.HADOOP_HOME/binPIG_HOME/binHBASE_HOME/binZOOKEEPER_HOME/binJAVA_HOME/binPATH

2.2 设置Pig与Hadoop关联

进入$PIG_HOME/conf中,编辑pig.properties文件,加入以下两行内容:

     fs.default.name=hdfs://hadoop-master:9000
    mapred.job.tracker=hadoop-master:9001
返回列表