pig安装测试

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jie310600

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值