四十一、centos安装pig(Pig的应用)

简介: 四十一、centos安装pig(Pig的应用)

环境搭建:


一、pig的安装:

   

1、官网地址pig-0.17.0


Welcome to Apache Pig!

https://pig.apache.org/

   

2、解压:


tar -zxvf pig-0.17.0.tar.gz -C /home

71.png


        3、重命名:


mv pig-0.17.0 pig

72.png


       4、编辑环境变量:


vim /etc/profile


73.png

       5、使环境变量立即生效:


source /etc/profile

       6、启动测试:


               a、进入本地模式:


pig -x local


74.png


                b、进入MapReduce模式:


pig -x mapreduce

75.png


Pig安装完成



二、Pig的应用:


A、计算多维度组合下的平均值

       1、创建测试数据文件:


vim data1.txt


76.png

a       1       2       3       4.2     9.8
a       3       0       5       3.5     2.1
b       7       9       9
a       7       9       9       2.6     6.2
a       1       2       5       7.7     5.9
a       1       2       3       1.4     0.2

       注:此处内容使用Tab键分割


       2、进入本地调试模式:


pig -x local

       3、使用pig计算data1.txt第2.3.4列的所有组合中,最后两列的平均值分别为多少:


A = LOAD 'data1.txt' AS (col1:chararray,col2:int,col3:int,col4:int,col5:double,col6:double);
B = GROUP A BY(col2,col3,col4);
c = FOREACH B GENERATE group,AVG(A.col5),AVG(A.col6);
DUMP c;

77.png


       Pig输出结果如下:


78.png


        注:语句需要一行一行输入执行,可以看到Pig输出结果完全正确


B、统计数据行数

       1、统计A中含col2字段的数据有多少行:


A = LOAD 'data1.txt' AS (col1:chararray,col2:int,col3:int,col4:int,col5:double,col6:double);
B = GROUP A ALL;
C = FOREACH B GENERATE COUNT(A.col2);
DUMP C;


79.png


         2、查看结果:


80.png



       注:这和SQL的Count统计数据行数一样,可以看到结果为  6


C、Pig中使用Shell进行辅助数据处理

       1、创建测试数据data2.txt


vim data2.txt


81.png

1       5       98      =       7
34      8       6       3       2
62      0       6       =       65


       2、将数据中第四列的 “=” 全部替换为9999:


A = LOAD 'data2.txt' AS (col1:int,col2:int,col3:int,col4:chararray,col5:int);
B = STREAM A THROUGH 'awk'{if($4 == "=") print $1"\t"$2"\t"$3"\t9999\t"$5; else print $0}'`;
DUMP B;

         3、查看结果:


82.png


D、向Pig脚本中传入参数

       假设Pig脚本输出的文件是通过外部参数指定的,则此函数不能写死,需要传入


1、在Pig中,传入参数的语句如下:


STORE A INTO '$output_dir';

       其中,output_dir就是传入的参数。在调用Pig的Shell脚本时,可以使用以下语句传入参数


pig -param output_dir="/home/my_output_dir/" my_pig_script.pig

       这里传入的参数output_dir的值为“ /home/my_output_dir/  ”


centos安装pig(Pig的应用)完成


相关文章
|
17小时前
|
Kubernetes Docker 容器
Docker 安装 Portainer
Portainer Community Edition是一个针对容器化应用程序的轻量级服务交付平台,可用于管理 Docker、Swarm、Kubernetes 和 ACI 环境。它的设计理念是部署和使用都简单,该应用程序允许您通过“智能”GUI 和/或广泛的 API 管理所有编排器资源。
14 3
|
1天前
|
前端开发 jenkins 持续交付
新的centos7.9安装docker版本的jenkins2.436.1最新版本-前端项目发布(五)
新的centos7.9安装docker版本的jenkins2.436.1最新版本-前端项目发布(五)
|
1天前
|
jenkins 网络安全 持续交付
新的centos7.9安装docker版本的jenkins2.436.1最新版本-后端项目发布(四)
新的centos7.9安装docker版本的jenkins2.436.1最新版本-后端项目发布(四)
|
1天前
|
Java 开发工具 git
新的centos7.9安装docker版本的jenkins2.436.1最新版本-项目发布(三)
新的centos7.9安装docker版本的jenkins2.436.1最新版本-项目发布(三)
10 4
|
1天前
|
Oracle jenkins 持续交付
新的centos7.9安装jenkins(二)
新的centos7.9安装jenkins(二)
|
1天前
|
jenkins Java 持续交付
新的centos7.9安装jenkins—(一)
新的centos7.9安装jenkins—(一)
|
1天前
|
网络安全 Docker 容器
测试开发环境下centos7.9下安装docker的minio
测试开发环境下centos7.9下安装docker的minio
|
1天前
|
Linux Apache
Centos7 安装Apache
安装Apache的步骤
16 6
|
2天前
|
网络协议 Linux Docker
在centos7下通过docker 安装onlyoffice
在centos7下通过docker 安装onlyoffice
|
2天前
|
NoSQL Linux Redis
本地虚拟机centos7通过docker安装主从redis3.2
本地虚拟机centos7通过docker安装主从redis3.2

热门文章

最新文章