`
bit1129
  • 浏览: 1070055 次
  • 性别: 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

 

 

 

分享到:
评论

相关推荐

    [原创]Apache_Pig的一些基础概念及用法总结

    本文旨在深入探讨Apache Pig的一些基本概念和用法,特别关注于新手入门时可能会遇到的概念混淆和实践难点。 #### 二、关键概念解析 ##### 1. 关系(Relation) 在Pig中,**关系**是最基本的数据结构,可以类比为...

    《pig编程指南》英文非图片电子版 Programming.Pig.pdf

    《Pig编程指南》是Alan Gates所著的一本关于Pig编程语言的入门与应用书籍。这本书详细介绍了Pig语言的使用,以及如何在Hadoop平台上利用Pig来处理和分析大数据。Pig语言是一种高级的脚本语言,它用于简化在Hadoop上...

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

    根据提供的文档信息,这是一门关于Hadoop生态系统的入门级课程中的第七周内容,主要介绍了Pig这一工具的基本概念、安装过程以及如何通过Pig进行数据分析的实际案例。 #### 二、Pig简介 Pig是由Yahoo贡献给Apache...

    Hadoop、HBase、Hive、Pig、Zookeeper资料整理

    4. **Pig**:Pig是针对Hadoop的高级数据分析平台,它提供了一种名为Pig Latin的高级脚本语言,用于处理大规模数据集。Pig Latin将复杂的数据处理任务转化为一系列的MapReduce作业,简化了大数据处理流程。 5. **...

    programming_pig

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

    peppa_pig_数据_

    标题中的"peppa_pig_数据_"似乎与一个项目或教程有关,它可能是通过编程方式,特别是Python语言,来创建或分析与“Peppa Pig”这一主题相关的数据。"Peppa Pig"是一部广受欢迎的儿童动画片,因此这个项目可能涉及到...

    spork:Apache Spark 上的 Pig

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

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

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

    [详细完整版]大数据入门.pptx

    【大数据入门】 大数据是指那些超出了传统数据处理能力的大量、高速度和多样性的信息资产,它需要采用先进的技术和工具来存储、管理和分析。在这个领域,Hadoop扮演着核心角色,由Doug Cutting创建,是一个开放源码...

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

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

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

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

    hadoop 入门

    Pig提供了一种脚本语言(Pig Latin),而Hive则构建于SQL之上,简化了查询复杂数据集的过程。 3. **Hadoop 集群配置和使用技巧** 配置Hadoop集群涉及多个层面,包括硬件选择、网络规划、软件安装及参数调优。以下...

    hadoop从入门到精通课件pdf

    《Hadoop从入门到精通》课程的PDF课件是一份全面了解和掌握Hadoop技术体系的宝贵资源。这个课程涵盖了从Hadoop的基础概念到高级应用的方方面面,旨在帮助学习者逐步提升对Hadoop的理解和实战能力。以下是根据提供的...

    Hadoop之Hbase从入门到精通.doc

    Hadoop之HBase从入门到精通 本文将详细介绍HBase技术,从基础概念到高级应用,旨在帮助读者快速掌握HBase技术。 一、HBase技术介绍 HBase是Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储...

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

    课程中,从Hadoop的简介和安装入门开始,深入到HDFS的文件接口、序列化、Shell命令及YARN的管理模型,让学习者了解Hadoop集群的运行机制。 【MapReduce编程】MapReduce是Hadoop中的编程模型,用于大规模数据集的...

    hbase入门到精通

    ### HBase从入门到精通——关键技术点解析 #### 一、HBase技术概览 **HBase**(Hadoop Database)是一种分布式、可扩展的NoSQL数据库系统,它基于Google Bigtable论文的思想构建而成,并且作为Apache Hadoop生态...

    hadoop入门测试数据

    总的来说,“hadoop入门测试数据”是一个宝贵的资源,它为初学者提供了一个实际操作的平台,通过这个平台,你可以逐步掌握Hadoop的基本概念和操作技巧,为进一步深入学习和应用Hadoop打下坚实的基础。记得动手实践,...

    Hadoop入门到精通

    "Hadoop入门到精通"的学习资料旨在帮助初学者掌握这一强大的框架,并逐步晋升为专家。以下是对Hadoop及其相关概念的详细解读。 一、Hadoop概述 Hadoop是由Apache基金会开发的一个开源框架,主要用于处理和存储大...

    hadoop hbase从入门到精通

    《Hadoop之HBase从入门到精通》是一个深入学习Hadoop和HBase的全面指南,旨在帮助初学者和有经验的开发者快速掌握这两个强大的大数据处理工具。Hadoop是Apache软件基金会开发的一个开源分布式计算框架,它允许在廉价...

    Hadoop入门实战手册 中文版)

    《Hadoop入门实战手册》是一本专为初学者设计的中文版指南,旨在帮助读者快速掌握Hadoop这一分布式计算框架的基础知识和实际操作技巧。Hadoop是Apache软件基金会的一个开源项目,它为海量数据处理提供了可靠的分布式...

Global site tag (gtag.js) - Google Analytics