2017-08-27 64 views
1

我试图从HDFS运行猪剧本,但它显示了错误的文件不存在。如何从HDFS运行猪脚本?

我的HDFS目录

[[email protected] ~]$ hdfs dfs -ls/
Found 11 items 
drwxrwxrwx - hdfs  supergroup   0 2016-08-10 14:35 /benchmarks 
drwxr-xr-x - hbase supergroup   0 2017-08-19 23:51 /hbase 
drwxr-xr-x - cloudera supergroup   0 2017-07-13 04:53 /home 
drwxr-xr-x - cloudera supergroup   0 2017-08-27 07:26 /input 
drwxr-xr-x - cloudera supergroup   0 2017-07-30 14:30 /output 
drwxr-xr-x - solr  solr    0 2016-08-10 14:37 /solr 
-rw-r--r-- 1 cloudera supergroup  273 2017-08-27 11:59 /success.pig 
-rw-r--r-- 1 cloudera supergroup  273 2017-08-27 12:04 /success.script 
drwxrwxrwt - hdfs  supergroup   0 2017-08-27 12:07 /tmp 
drwxr-xr-x - hdfs  supergroup   0 2016-09-28 09:00 /user 
drwxr-xr-x - hdfs  supergroup   0 2016-08-10 14:37 /var 

命令执行

[[email protected] ~]$ pig -x mapreduce /success.pig 

错误消息

log4j:WARN No appenders could be found for logger (org.apache.hadoop.util.Shell). 
log4j:WARN Please initialize the log4j system properly. 
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 
2017-08-27 12:34:39,160 [main] INFO org.apache.pig.Main - Apache Pig version 0.12.0-cdh5.8.0 (rexported) compiled Jun 16 2016, 12:40:41 
2017-08-27 12:34:39,162 [main] INFO org.apache.pig.Main - Logging error messages to: /home/cloudera/pig_1503862479069.log 
2017-08-27 12:34:47,079 [main] ERROR org.apache.pig.Main - ERROR 2997: Encountered IOException. File /success.pig does not exist 
Details at logfile: /home/cloudera/pig_1503862479069.log 

我缺少什么?

+0

脚本应该在本地FS – philantrovert

+0

有一些从hdfs运行脚本的例子。如果脚本需要一直在当地FS那么什么用-x的MapReduce。 –

+0

输入和输出数据是关于HDFS。 – philantrovert

回答

1

您可以使用-f <script location>选项,选项值运行位于HDFS路径脚本。但是脚本位置需要按照下面的语法和示例给定为绝对路径。

Syntax: 
pig -f <fs.defaultFS>/<script path in hdfs> 

Example: 
pig -f hdfs://Foton/user/root/script.pig