Pig安装测试和出现的问题

Pig的安装和配置过程

1、从http://pig.apache.org/下载Pig安装包,我下载的是Pig-0.14.0

2、使用tar -zxvf pig-0.14.0.tar.gz解压到适当的位置,这里推荐放在hadoop的目录下

3、接下来需要做的就是配置了,我是在/etc/profile中进行配置的,配置过程中和hadoop进行了关联,这样可以让Pig在分布式存储上进行想要的处理。我电脑上的配置如下:

export HADOOP_VERSION=2.6.0
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_CLASSPATH=${HADOOP_HOME}/share/common/*.jar:${HADOOP_HOME}/share/common/lib/*.jar:${HADOOP_HOME}/share/yarn/*.jar:${HADOOP_HOME}/share/yarn/lib/*.jar

#    这个地方很多资料上直接是export HADOOP_CLASSPATH=${HADOOP_HOME}/*.jar:HADOOP_CLASSPATH=${HADOOP_HOME}/lib/*.jar但是我电脑上的jar不在这个目录下所以我进行了改动
export PIG_VERSION=0.14.0
export PIG_HOME=/usr/local/hadoop/pig-0.14.0
export PIG_CLASSPATH=${HADOOP_HOME}/conf/

4、进行了配置之后,需要重启、注销或者使用命令source /etc/profile来让刚才的配置立刻生效。

5、到此为止已经已经完成了Pig的安装了,下面输入命令pig,如果出来一大堆信息,然后进行grunt外壳程序说明安装已经成功。

在安装Pig之前还需要安装的是jdk,并且对jdk进行配置,因为我电脑上早先装hadoop的时候就装了jdk所以再次不再叙述。



在此我发现了一个我们在修改配置文件时可能会出现的问题

在我修改了/etc/profile文件然后重启发现登陆密码正确也进不去了,后来仔细查了下可以这样解决:

1、ctrl+alt+f1进入命令行模式

2、登陆进去,但是这个地方需要注意的是登陆不是使用root权限登陆的,而是安装系统时候我们当时创建的用户名和密码

3、然后sudo vi /etc/profile进入profile文件将刚才的修改删除掉,按ctrl+alt+f7退出命令行界面进入图形界面,然后重新登陆进去就可以了。



Pig测试及遇到的问题

首先通过fs命令可以了解一下Pig上可以使用的一些命令

1、准备好自己即将进行处理的数据文件,我准备的是NCDC天气数据信息,我将文件放在了~/file/file1.txt中了,记住这个路径,在我们进入grunt外壳程序之前,我们首先需要在root权限下使用cd ~/file/切换到这个路径下,然后输入pig命令进入grunt外壳程序,这样做的理由是在接下来上传file1.txt到HDFS上的时候可以找到自己的文件,我就是在这个上面被折腾了一段时间。

2、进入grunt外壳程序之后,通过命令copyFromLocal file1.txt ./来将file1.txt文件上传到HDFS上,然后输入ls命令就可以看到我们上传上去的文件了。

在我电脑上上传文件之后输入ls出现:

grunt> ls
hdfs://localhost:9000/user/root<r 2>    3352528

3、下面开始通过命令来对上传的数据文件进行想要的处理

A = LOAD 'hdfs://localhost:9000/user/root' USING PigStorage(':') AS (year:int, temp:int, quality:int);

通过这行命令来加载数据

4、B = FILTER A BY temp != 9999 AND ((chararray)quality matches '[01459]');

通过这行命令来对数据根据相应的塞选条件进行相应的过滤

5、C = GROUP B BY year;

通过这行命令来对B中的数据进行按年分组

6、D = FOREACH C GENERATE group, MAX(B.temp) AS max_temp;

通过这行命令来找到每个年份中的最高气温

7、DUMP D;

输出D中结果

最终得到的结果为

(1901,317)
(1902,261)
(1903,278)
(1904,194)
(1905,278)
(1906,283)
(1907,300)
(1908,322)
(1909,350)
(1910,322)
(1911,322)
(1912,411)
(1913,361)
(1914,378)
(1915,411)
(1916,289)
(1917,478)
(1918,450)
(1919,428)
(1920,344)
(1921,417)
(1922,400)
(1923,394)
(1924,456)
(1925,322)
(1926,411)
(1928,161)
(1929,178)
(1930,311)
(1931,450)
(1932,322)
(1933,411)
(1934,300)
(1935,311)
(1936,389)
(1937,339)
(1938,411)
(1939,433)
(1940,433)
(1941,462)
(1942,278)
(1949,367)
(1953,400)

你可能感兴趣的:(hadoop,数据,pig,hdfs,分布式存储)