1、在pig下载的安装包,解压完成了之后,有一个tutorial目录,我们使用里面的数据来开始pig学习。如果tutorial目录下没有存在pigtutorial.tar.gz文件的话,那么需要使用ant来编译出这个文件
如果没有ant,见分类linux下的ant安装
2、进入tutorial目录,执行命令ant
得到pigtutorial.tar.gz
3、使用tar -zxvf pigtutorial.tar.gz 解压
4、上传excite-small.log进入hdfs中
$>hadoop dfs -put excite-smal.log /input
因为使用pig处理的是hdfs中的文件
我们下面将主要分析excite-small.log文件,该文件的数据结构如下:
UserID TimeStamp SearchQuery
5、执行pig进入pig的上下文grunt
6、首先将excite-small.log加载到一个变量(也称之为alias)中,我们将使用该变量来表示这个数据集:
grunt> log = load ‘excite-small.log‘ as (user, time, query);
注意的是这时pig并没有运行该命令,仅仅是解析了该命令,只有到使用dump命令或者是store命令时pig才会真正执行该命令。dump命令将打印出这个变量的内容,store命 令将变量所代表的内容保存到一个文件中。
7、 grunt> describe log; 查看结构(语句都以; 结束)
8、如果我们想要查看该log文件的前4行的话:
grunt> lmt = limit log 4;
grunt> dump lmt;(打印)
注意:如果出现:Unable to open iterator for alias a,请检查hadoop是否仍处于safemode状态,如果是,退出这个状态。