Pig安装部署与实例

安装包地址:https://mirrors.tuna.tsinghua.edu.cn/apache/pig/

前提:Hadoop安装成功

pig安装部署:

1.将准备好的安装包上传到虚拟机rz

2.查看是否上传成功

 

3.解压缩

命令:tar xf pig-0.13.0.tar.gz

 

4.将解压缩后的文件移动到/opt目录下(因为我的一些有关实验都在这个目录下,所以移动到这个目录下,方便之后的管理)

5.编辑文件/etc/profile,然后保存文件,并让文件生效source /etc/profile

6.测试是否安装成功,使用pig命令进入,然后使用sh ls查看测试,能和增长运行表示成功。

 

 

 

实例:

在本地文件系统创建三个文件student.txt,course.txt,sc.txt,分别存储学生信息,课程信息,选课信息。实现找出成绩少于80的学生,并且输出学生的姓名和对应课程和成绩。样例数据如下:

图1 学生信息(学号,姓名,性别,年龄,专业)

 

图2 课程信息(课号,课程名,学分)

图3 成绩信息(学号,课号,成绩)

 

解答:

1.在本地文件系统创建三个文件student.txt,course.txt,sc.txt,文件内容图下:

 

 

2.将文件上传到hdfs下:(这里创建一个目录pig_test,专门存放这三个文件)然后查看是否上传成功

 

3.将这三个文件内容在pig上进行加载,分别使用变量a,b,c去接收。命令与截图如下:

 a = load '/pig_test/student.txt' using PigStorage(':') as (sno:chararray,sname:chararray,sex:chararray,age:int,dept:chararray);

 b = load '/pig_test/course.txt' using PigStorage(',') as (con:chararray,cname:chararray,grade:chararray);

c = load '/pig_test/sc.txt' using PigStorage(',') as (sno:chararray,cno:chararray,score:float);

 

 

4.因为要求低于80分的学生信息,但是在每一个表中,都没有全面的而对应信息,所以使用join连接这些表,首先连接a与c(首先连接哪两个看个人意愿),两个里面都有sno,根据sno去连接。

使用dump命令去查看连接的内容

查看连接内容如下:

5.然后可以查看连接后的各个字段信息:

命令:describe a_join_c;

6.在连接a_join_c与另外的一个b(里面的c::cno是因为在c表中有与b表相同的一个内容,需要使用相同字段连接,而且连接是在a_join_c,这个里面的表字段比较多,这样写还便于区分)(使用了如下命令之后,都可以使用dump 变量名 的格式去查看变量里面的内容)

使用dump命令查看,内容如下:

7.使用filter去筛选成绩少于80的学生信息。

运行结果:

8.在成绩少于80的学生信息中,去查找学生姓名,对应课程名与成绩。

dump命令查看后的结果如下:

 

9.实验整个过程的历史纪录:

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值