Pig安装部署与实例

news/2024/7/4 19:21:18 标签: 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.实验整个过程的历史纪录:

 

 

 


http://www.niftyadmin.cn/n/1425649.html

相关文章

flash

FLASH导入到库的快捷键CTRLR 矢量渐变图导入flash在flash里面填充渐变的地方? EPS,AI格式请用Illustrator编辑 矢量(很好很好很好) http://www.veeqi.com/vector/people/ http://www.zcool.com.cn/vector/ 教学 http://www.7880.com/in…

Java网络编程(java.net )

http://java.ccidnet.com/images/java/javanet/Java网络编程(java.net )事实上网络编程简单的理解就是两台计算机相互通讯数据而已,Java SDK 提供一些相对简单的Api来完成这些工作。Socket就是其中之一,这些Api 存在与java.net …

hive实验

利用Hive对某网站的用户数据进行分析。 1.创建dblab数据库 命令:create database dblab; 2. 在dblab数据库下创建bigdata_user表,该表中的各种属性如下: 字段名 类型 id int uid string item_id string behavior_type …

zookeeper安装部署与使用

Zookeeper安装部署 安装包下载地址:https://apache.org/dist/zookeeper/ 1.下载安装包然后上传到主节点rz,centos上可使用 wget 地址 2.解压缩:tar xf 安装包 3.移动到/opt目录下mv zookeeper-3.4.12 /opt 4.修改目录权限 命令&#xff…

十进制十六进制转换

以321为例:先记住1、16、256、4096这几个数字,即16的平方、16的立方等等。 321/256 1 余 65 》写下1 65/16 4 余 1 》写下14 1/1 1 余 0 》写下141 即十进制321等于十六进制141 1.比如:216是16进制,转10进制: =2*…

ubuntu连接xshell出现的问题

使用Ubuntu连接xshell的时候出现以下问题: 解决方法: 在ubuntu的管理员用户下,安装openssh-server(不是管理员在命令前使用sudo) 安装成功后,查看是否有启动ssh,使用ps -e | grep ssh查看,如果…

ABC类IP地址

A类IP地址一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位 必须是"0", 地址范围从1.0.0.0 到126.0.0.0。可用的A类网络有126个,每个 网络能容纳1亿多个主机B类IP地址  一个B类IP地址由2个字节的网络地址和…

wampserver图标呈现黄色

问题:在使用wampserver的时候,启动服务的时候,图标一直显示黄色,登录phpmyAdmin登录不成功 原因:wampserver设置的端口号被占用,(默认是80端口) 解决方法:修改端口号 …