原文地址 : http://blog.csdn.net/nsrainbow/article/details/43426061 最新课程请关注原作者博客,获得更好的显示体验
声明
- 本文基于Centos 6.x + CDH 5.x
Pig 有什么用
hdfs虽说是一个文件空间,但是我们每次要查看hdfs上的文件的时候都要输入一大串命令,比如一个简单的ls都需要输入 : hdfs dfs -ls / ,而且还不能cd到某个目录,这样就造成了每次ls都要带上全路径的麻烦,能不能有一个工具可以模拟linux下的shell呢?Pig就实现了这样的需求,可以直接ls,可以cd到某个目录,比如这样
grunt> ls
hdfs://mycluster/user/root/.staging <dir>
hdfs://mycluster/user/root/employee <dir>
hdfs://mycluster/user/root/people <dir>
grunt> cd ..
grunt> ls
hdfs://mycluster/user/cloudera <dir>
hdfs://mycluster/user/history <dir>
hdfs://mycluster/user/hive <dir>
hdfs://mycluster/user/root <dir>
hdfs://mycluster/user/test3 <dir>
hdfs://mycluster/user/test_hive <dir>
就像操作linux shell 一样的操作 hdfs 空间
并且Pig还创造了 Pig Latin语言,可以通过Pig写一个类似存储过程的MapReduce的Job,pig会自动帮你把这个job翻译成MapReduce去执行,大家就不用自己写原始的java代码了。
安装Pig
选择host1 用yum安装pig
yum install pig
设置环境变量
如果你用的是 YARN 那么设置HADOOP_MAPRED_HOME=/usr/lib/hadoop-mapreduce (如果是MRv1 就是 /usr/lib/hadoop-0.20-mapreduce
)
编辑 /etc/profile 在最后一行加上
export HADOOP_MAPRED_HOME=/usr/lib/hadoop-mapreduce
然后运行 source 让设置生效
[root@host1 impala]# source /etc/profile
[root@host1 impala]# echo $HADOOP_MAPRED_HOME
/usr/lib/hadoop-mapreduce
启动交互模式的Pig
$ pig
看到一堆日志最后出现
, use fs.defaultFS
2015-02-02 08:29:03,302 [main] INFO org.apache.hadoop.conf.Configuration.deprecation