pig安装测试
tar -zxvf pig-0.16.0.tar.gz -C /home/hadoop/
设置环境变量/etc/profile
export PIG_HOME=/home/hadoop/pig-0.16.0
export PIG_CLASSPATH=$HADOOP_HOME/conf
export PATH=$PATH:$PIG_HOME/bin
source /etc/profile
pig –version
运行pig时报如下错误
ERROR 2998: Unhandled internal error. Found interface jline.Terminal, but class was expected
解决办法:
删除{HADOOP_HOME}/share/hadoop/yarn/lib下的jline,然后将{PIG_HOME}/lib下的jline拷到{HADOOP_HOME}/share/hadoop/yarn/lib下,重启hadoop,再启动pig,就可以正常启动了
pig -help
Pig有两种执行模式,分别为:
本地模式(Local)
本地模式下,Pig运行在单一的JVM中,可访问本地文件。该模式适用于处理小规模数据或学习之用。
运行以下命名设置为本地模式:
pig –x local
MapReduce模式
在MapReduce模式下,Pig将查询转换为MapReduce作业提交给Hadoop(可以说群集 ,也可以说伪分布式)。
Pig默认模式是mapreduce,你也可以用以下命令进行设置:
pig –x mapreduce
//测试
Pig默认模式是mapreduce,
hadoop fs -mkdir /pigTest
hadoop fs -put /home/hadoop/testFile/temperature.txt /pigTest
pig //进入grunt shell //使用“ctrl+d"退出Grunt shell。
grunt> cat /pigTest/temperature.txt //查看文件内容
WordCount
grunt> words = load '/input/test2' using PigStorage(' ') as (line);
grunt> grpd = group words by line;
grunt> cntd = foreach grpd generate group, COUNT(words);
grunt> dump cntd;
2018-09-01 00:31:56,147 [main] INFO org.apache.hadoop.mapred.ClientServiceDelegate - Application state is completed. FinalApplicationStatus=SUCCEEDED. Redirecting to job history server
2018-09-01 00:31:57,149 [main] INFO org.apache.hadoop.ipc.Client - Retrying connect to server: 0.0.0.0/0.0.0.0:10020. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
解决方案:启动historyserver:
mr-jobhistory-daemon.sh start historyserver
脚本文件式进行运行:
pigTest.pig
grunt> a = LOAD '/input/test2' as (line:chararray); //加载输入文件,并按行分隔
grunt> words = FOREACH a GENERATE flatten(TOKENIZE(line)) as w; //将每行分割成单词
grunt> g = GROUP words by w; //按单词分组
grunt> wordcount = FOREACH g GENERATE group,COUNT(words); //单词记数
grunt> dump wordcount;
pig pigTest.pig
分享到:
相关推荐
7. **测试安装**:通过运行`pig`命令来检查Pig是否成功安装。可以在Local模式和MapReduce模式下测试,确保Pig能在Hadoop集群上运行。 **二、Pig的基本使用方法** **1. 数据加载与描述** - `LOAD`语句用于加载数据...
其他扩展如PigUnit是单元测试工具,用于测试Pig Latin脚本。通过分析这些源代码,我们可以了解Pig如何实现任务调度、数据分区、并行度控制等关键功能。 3. 架构设计:Pig采用三层架构,即前端(Frontend)、中间层...
五、测试Pig安装 完成上述步骤后,重新加载环境变量(`source ~/.bashrc`),然后在命令行输入`pig`,如果成功,会启动Pig的交互式Shell。 六、使用Pig Latin进行数据处理 Pig Latin是Pig的编程语言,用户可以通过...
`pigunit.jar`是Pig的单元测试框架,它允许开发人员对Pig Latin脚本进行自动化测试。在编写复杂的数据处理逻辑时,测试是非常重要的,`pigunit.jar`提供了一种方法来验证Pig脚本的行为,确保它们按预期工作。通过这...
- **grunt shell**:这是Pig提供的交互式环境,用于测试和调试Pig Latin脚本。 - **Pig Latin**:Pig的数据流语言,它允许用户定义一系列的操作(称为“grunt”或“DAG”)来处理数据,比如LOAD、FILTER、GROUP、...
对于想要开始使用Pig的读者,书中的内容会从下载Pig包开始讲起,包括从Apache、Cloudera、Maven仓库等不同途径获取Pig的方法,以及安装和运行Pig的基本步骤。这本书还可能涉及如何设置和配置Pig环境、使用Pig Latin...
在实际使用中,用户首先需要在Linux服务器上安装Hadoop环境,然后解压并配置Pig 0.12.1,使其能够与Hadoop集群通信。接着,可以使用Pig命令行或交互式Shell(如Grunt)编写和执行Pig Latin脚本,进行数据处理任务。...
在本地模式下,Pig 使用内存作为存储,适用于小数据量的测试和开发场景;而在分布式模式下,Pig 则会利用 **Hadoop** 集群的资源执行大规模数据处理任务。 #### 结论 通过深入理解Pig及其核心语言 **Pig Latin** ...
用于Pig脚本的基于Node.js的单元测试(以及尝试Hadoop简便方法)。 概述 该模块使用node.js和Mocha作为的单元测试框架。 猪的单元测试定义为.pu文件,用于描述特定猪脚本的输入字符串和预期的输出字符串。 由于Pig...
5. Grunts Shell:交互式命令行工具,用于测试和运行Pig Latin脚本。 二、Hive编程 Hive提供了一种SQL-like的语言(HQL,Hive Query Language),它将复杂的MapReduce作业封装在简单的SQL语句中,降低了大数据处理...
5. **本地模式与分布式模式**:Pig 支持本地模式(所有处理都在单机上完成,适合测试和调试)和分布式模式(在完整的 Hadoop 集群上运行,处理大规模数据)。 6. **优化与性能**:通过合理设计数据模型,避免使用...
### Hadoop入门进阶课程之Pig介绍、安装与应用案例 #### 一、课程概述 根据提供的文档信息,这是一门关于Hadoop生态系统的入门级课程中的第七周内容,主要介绍了Pig这一工具的基本概念、安装过程以及如何通过Pig...
本文档将指导你完成在Ubuntu 16.04.7上安装Pig 0.16的所有必要步骤。 #### 准备工作 1. **确保已经安装了必要的基础软件**: - Java:Pig依赖于Java运行。 - Hadoop:为了能够处理大数据,你需要安装Hadoop并...
4. **文档**:可能包括README文件,介绍如何安装、配置和使用这些工具。 使用 "elephant-bird-pig-4.1" 和 "cassandra-utils.zip",开发者可以更加高效地进行Cassandra应用开发,不仅能够方便地进行数据分析,还能...
4. 示例和测试:提供示例代码展示如何使用Pigo进行面部检测,并通过测试确保库的功能正确无误。 在实际应用中,开发者可以利用Pigo来实现以下功能: 1. 实时视频流的面部检测:在摄像头输入的视频流中实时检测人脸...
### Hadoop 安装与性能测试综合指南 #### 一、前言 Hadoop是一款开源的大数据处理框架,主要用于分布式存储和大规模数据集的并行处理。本文将详细介绍Hadoop在Ubuntu系统上的安装过程以及初步的性能测试方法,旨在...
尝试在 PIG 中测试自定义加载程序有点困难...... 我能够通过简单地尝试从 pig 运行现有的单元测试而不修改代码来重现我面临的问题。 所以我做了什么: 创建一个非常简单的 pom.xml 下载并将其放在正确的目录中。...
8. 测试与部署:了解如何编写单元测试和集成测试,以及如何将项目部署到服务器,如使用Gunicorn或uWSGI作为WSGI服务器,Nginx作为反向代理服务器。 9. 版本控制:可能使用Git进行版本控制,理解分支、合并、提交等...
1. **Grunt Shell**:这是Pig交互式命令行工具,用于测试和运行Pig Latin脚本。 2. **Operators**:Pig Latin包含各种操作符,如LOAD用于加载数据,FILTER用于过滤记录,GROUP用于分组数据,JOIN用于合并数据集,...