`
bit1129
  • 浏览: 1052716 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【Pig一】Pig入门

    博客分类:
  • Pig
 
阅读更多

Pig安装

1.下载pig

 

wget http://mirror.bit.edu.cn/apache/pig/pig-0.14.0/pig-0.14.0.tar.gz

 

2. 解压配置环境变量

 

   如果Pig使用Map/Reduce模式,那么需要在环境变量中,配置HADOOP_HOME环境变量

 

export PIG_HOME=/home/hadoop/pig-0.14.0
export PIG_CLASSPATH=/home/hadoop/hadoop-2.5.2/etc/hadoop/conf
export PATH=$PIG_HOME/bin:$PATH

 

3. 在本篇中使用默认的Pig配置,如果要配置Pig属性,则对如下文件进行配置

 

 

/home/hadoop/pig-0.14.0/conf/pig.properties

 

4. 启动Pig

 

 

/home/hadoop/pig-0.14.0/bin/pig

 

 

启动的结果:

 

hadoop@tom-Inspiron-3521:~/pig-0.14.0/bin$ ./pig
14/12/28 12:31:03 INFO pig.ExecTypeProvider: Trying ExecType : LOCAL
14/12/28 12:31:03 INFO pig.ExecTypeProvider: Trying ExecType : MAPREDUCE
14/12/28 12:31:03 INFO pig.ExecTypeProvider: Picked MAPREDUCE as the ExecType
2014-12-28 12:31:03,217 [main] INFO  org.apache.pig.Main - Apache Pig version 0.14.0 (r1640057) compiled Nov 16 2014, 18:02:05
2014-12-28 12:31:03,217 [main] INFO  org.apache.pig.Main - Logging error messages to: /home/hadoop/pig-0.14.0/bin/pig_1419741063215.log
2014-12-28 12:31:03,279 [main] INFO  org.apache.pig.impl.util.Utils - Default bootup file /home/hadoop/.pigbootup not found
2014-12-28 12:31:04,154 [main] INFO  org.apache.hadoop.conf.Configuration.deprecation - mapred.job.tracker is deprecated. Instead, use mapreduce.jobtracker.address
2014-12-28 12:31:04,154 [main] INFO  org.apache.hadoop.conf.Configuration.deprecation - fs.default.name is deprecated. Instead, use fs.defaultFS
2014-12-28 12:31:04,154 [main] INFO  org.apache.pig.backend.hadoop.executionengine.HExecutionEngine - Connecting to hadoop file system at: hdfs://yuzhitao-Inspiron-3521:9000
2014-12-28 12:31:06,100 [main] INFO  org.apache.hadoop.conf.Configuration.deprecation - fs.default.name is deprecated. Instead, use fs.defaultFS
grunt> 

 

Pig基本使用

1. 启动Hadoop2.5.2

2. 准备数据集 vim $PIG_HOME/data/sampledata.txt

 

2014:11:23
2014:11:61
2014:12:32
2014:8:11

3.使用如下命令启动pig

 

pig

 

4. 在Pig中将sampledata.txt数据上传到HDFS中

 

grunt> fs -copyFromLocal /home/hadoop/pig-0.14.0/data/sampledata.txt /user/hadoop

 

说明:/user/hadoop是上传到HDFS的目标目录,也可以使用./,具体grunt如何解析./,还需要研究下。

 

5. 在Pig中查看HDFS状态

 

grunt> ls
hdfs://tom-Inspiron-3521:9000/user/hadoop/sampledata.txt<r 1>	77

 

77表示sampledata.txt的字节数

 

6. 查看sampledata.txt的内容

 

grunt> fs -cat /user/hadoop/sampledata.txt

 

7. 将sampledata.txt加载到Pig中,以:分割,指定三列A,B,C

 

grunt> A = LOAD 'sampledata.txt' USING PigStorage(':') AS (A:int,B:int, C:int); 

 

执行结果

 

grunt> A = LOAD 'sampledata.txt' USING PigStorage(':') AS (A:int,B:int, C:int);
2014-12-28 13:19:44,205 [main] INFO  org.apache.hadoop.conf.Configuration.deprecation - fs.default.name is deprecated. Instead, use fs.defaultFS
2014-12-28 13:19:44,299 [main] INFO  org.apache.hadoop.conf.Configuration.deprecation - fs.default.name is deprecated. Instead, use fs.defaultFS
grunt> 

 

8. 查看A任务的描述

 

grunt> describe A;
A: {A: int,B: int,C: int}
grunt> dump A;

 

Pig启动一个Map Reduce Job, 结果显示10020端口连接失败,在终端使用telnet localhost 10020发现拒绝连接,终端在等待将近5分钟的频繁尝试连接10020后,最后的Map任务还是结束了,直接结果是

 

 

2014-12-28 15:10:55,732 [main] INFO  org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - Success!
2014-12-28 15:10:55,739 [main] INFO  org.apache.pig.data.SchemaTupleBackend - Key [pig.schematuple] was not set... will not generate code.
2014-12-28 15:10:55,763 [main] INFO  org.apache.hadoop.mapreduce.lib.input.FileInputFormat - Total input paths to process : 1
2014-12-28 15:10:55,764 [main] INFO  org.apache.pig.backend.hadoop.executionengine.util.MapRedUtil - Total input paths to process : 1
(2014,11,23)
(2014,11,61)
(2014,12,32)
(2014,8,11)

 

 

9 .执行如下操作执行条件过滤

 

grunt> B = FILTER A BY B ! = 12;
grunt>dump B;

 

 

经常不停反复的尝试连接到10020端口,最后,结果还是输出了,结果是

 

(2014,11,23)
(2014,11,61)
(2014,8,11)

 

 

10. 执行如下操作对A进行分组操作

 

grunt> B = GROUP A BY B; //BY后面的B是列名
grunt>dump B;

 

 经常不停反复的尝试连接到10020端口,最后,结果还是输出了,结果是

 

(8,{(2014,8,11)})
(11,{(2014,11,61),(2014,11,23)})
(12,{(2014,12,32)})

 

11. 将结果保存到HDFS上

 

grunt> STORE A INTO 'pigStorageA' USING PigStorage(':');

 

经常不停反复的尝试连接到10020端口,最后,结果还是输出了,结果是

 

grunt> ls
hdfs://tom-Inspiron-3521:9000/user/hadoop/pig	<dir>
hdfs://tom-Inspiron-3521:9000/user/hadoop/pigStorageA	<dir>  ////结果输出目录
hdfs://tom-Inspiron-3521:9000/user/hadoop/wordcount	<dir>
grunt> fs -l /user/hadoop/pigStorageA
-l: Unknown command
grunt> fs -ls /user/hadoop/pigStorageA
Found 2 items
-rw-r--r--   1 hadoop supergroup          0 2014-12-28 15:53 /user/hadoop/pigStorageA/_SUCCESS
-rw-r--r--   1 hadoop supergroup         43 2014-12-28 15:53 /user/hadoop/pigStorageA/part-m-00000
grunt> fs -cat /user/hadoop/pigStorageA/part-m-00000  ///结果
2014:11:23
2014:11:61
2014:12:32
2014:8:11
grunt> 

 

别名(Alias)

在上面的例子中,使用了

 

grunt> A = LOAD 'sampledata.txt' USING PigStorage(':') AS (A:int,B:int, C:int); 

 

grunt> 后面的A表示一个别名,那么这个别名是谁的别名呢?

  • dump命令用于都alias进行计算,并将结果显示到控制台上
  • describe命令用于显示alias的模式(schema)

总结

本文很失败,没有达到对Pig入门的效果,Pig能做什么,与Hive有什么区别,没有直观的感受;同时,配置还有问题,在执行Pig命令时,不断的报错

 

关于10020端口拒绝连接的问题

对于Hadoop2.x需要配置和启动Job History Server

 

1. 配置Job History相关的配置

 

vim mapred-site.xml

 

添加如下内容:

 

    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>hadoop.master:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>hadoop.master:19888</value>
    </property>

 

 

2. 启动JobHistoryServer

 

sbin/mr-jobhistory-daemon.sh start historyserver

 

 

 

分享到:
评论

相关推荐

    PIG 实战介绍

    PIG 的新手非常适合的入门 介绍

    PIG编程指南

    programming_pig

    pig的专业书籍,从部署到开发,让你轻松入门。

    7.Hadoop入门进阶课程_第7周_Pig介绍、安装与应用案例.pdf

    7.Hadoop入门进阶课程_第7周_Pig介绍、安装与应用案例.pdf

    spork:Apache Spark 上的 Pig

    基本信息有关 Pig 的最新信息,请访问我们的网站: 和我们的维基,在:入门要了解 Pig,请尝试 要构建和运行 Pig,请尝试和 要查看函数库,请尝试为项目做贡献我们欢迎所有贡献。 有关详细信息,请访问 。

    mortar-recsys, 一种基于砂浆数据的Hadoop和 Pig 定制推荐.zip

    mortar-recsys, 一种基于砂浆数据的Hadoop和 Pig 定制推荐 Mortar推荐引擎一个定制推荐引擎的Hadoop和 Pig,通过迫击炮数据。入门/教程这个项目包含了几个完整的。可以运行的示例数据示例数据,以及一个模板项目。...

    史上最全的android入门教程coder-pig.pdf

    个人收集电子书,仅用学习使用,不可用于商业用途,如有版权问题,请联系删除!

    possu:一个用于node-postgres的小型随行库:pig:

    波苏 :pig: 一个用于小型随行库。特点和目标基于Promise的API,旨在减少常见样板使用标记的模板字符串编写原始SQL查询防止大多数类型的意外SQL注入漏洞事务和保存点处理,包括在序列化失败和死锁的情况下重试。 一流...

    hadoop 第三版-权威指南-从入门到精通-中文pdf版本

    hadoop 第三版-权威指南-从入门到精通-中文pdf版本。介绍hadoop分布式文件系统,MapReduce的工作原理,并手把手教你如何构建hadoop集群,同时附带介绍了pig,hive,hbase,zookeeper,sqoop等hadoop家族的开源软件。

    PIGO:平行图输入输出

    :laptop: 源代码: [ ] :blue_book: 文档: [ ]快速入门指南首先,下载PIGO发行版pigo.hpp 。 要编译PIGO应用程序,您需要使用OpenMP并确保pigo.hpp在编译器可以找到它的目录中。 在这里,我们提供了一个简单的示例...

    Apache Hadoop---Crunch.docx

    Apache Crunch 是基于 FlumeJava 实现的,...与 Pig 和 Hive 一样,Crunch 是为了降低 MapReduce 的入门成本。它们的区别是:Pig 是一个基于管道的框架,而 Crunch 则是一个 Java 库,它提供比 Pig 更高级别的灵活性。

    大数据入门ppt

    关于大数据,大数据,Hadoop,Zookeeper,HBase,Hive,Impala,Kafka,Storm,Spark,Hue,Fiume NG,OoZie,Sqoop,Pig,Cloudera,Hortonworks,MapR,Google入门的ppt

    大数据云计算技术系列 Hadoop之Hbase从入门到精通(共243页).pdf

    一、 HBase技术介绍 ...此外,Pig和Hive还为HBase提供了高层语言支持,使得在HBase上进行数据统计处理变的非常简单。 Sqoop则为HBase提供了方便的RDBMS数据导入功能,使得传统数据库数据向HBase中迁移变的非常方便。

    greedy-pig-website

    该准入门者附带了您可能需要的主要Gatsby配置文件。 还有其他更具体的想法吗? 您可能需要查看我们充满活力的集合。 :rocket: 快速开始 安装Gatsby CLI。 Gatsby CLI可以帮助您使用Gatsby入门程序(例如这个!)...

    大数据基础知识入门.pdf

    大数据基础知识入门 社会保障事业部 张火磊 主要内容 大数据价值 03 大数据概念、特性、由来 01 大数据应用举例 04 02 Hadoop技术介绍 大数据概念、特性、由来 什么叫大数据? 麦肯锡全球研究所给出的定义是:一 种...

    精品课程推荐 大数据与云计算教程课件 优质大数据课程 19.Pig(共33页).pptx

    大数据与云计算教程课件 优质大数据课程 01.Hadoop简介与安装入门(共29页).pptx 大数据与云计算教程课件 优质大数据课程 02.MapReduce(共23页).pptx 大数据与云计算教程课件 优质大数据课程 03.Hadoop YARN(共...

    精品课程推荐 大数据与云计算教程课件 优质大数据课程 20.Pig Latin(共36页).pptx

    大数据与云计算教程课件 优质大数据课程 01.Hadoop简介与安装入门(共29页).pptx 大数据与云计算教程课件 优质大数据课程 02.MapReduce(共23页).pptx 大数据与云计算教程课件 优质大数据课程 03.Hadoop YARN(共...

    peppa_pig_数据_

    用python画佩奇,好玩有趣,入门必备

    Hadoop安装学习-入门教程

    Hadoop 安装 学习 入门教程 Hadoop家族系列文章,主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa,新增加的项目包括,YARN, Hcatalog, Oozie, ...

    精品课程推荐 大数据与云计算教程课件 优质大数据课程 21.Pig模式与函数(共64页).pptx

    大数据与云计算教程课件 优质大数据课程 01.Hadoop简介与安装入门(共29页).pptx 大数据与云计算教程课件 优质大数据课程 02.MapReduce(共23页).pptx 大数据与云计算教程课件 优质大数据课程 03.Hadoop YARN(共...

Global site tag (gtag.js) - Google Analytics