Pig没有以mapreduce模式运行(hadoop 3.1.1+;Pig 0.17.0)

Pig没有以mapreduce模式运行(hadoop 3.1.1+;Pig 0.17.0),hadoop,bigdata,apache-pig,hadoop3,Hadoop,Bigdata,Apache Pig,Hadoop3,我是Hadoop的新手。我的hadoop版本是3.1.1,pig版本是0.17.0 通过在本地模式下运行此脚本,一切正常 清管器-x本地 grunt> student = LOAD '/home/ubuntu/sharif_data/student.txt' USING PigStorage(',') as ( id:int, firstname:chararray, lastname:chararray, phone:chararray, city:chararray ); grunt&

我是Hadoop的新手。我的hadoop版本是3.1.1,pig版本是0.17.0

通过在本地模式下运行此脚本,一切正常

清管器-x本地

grunt> student = LOAD '/home/ubuntu/sharif_data/student.txt' USING PigStorage(',') as ( id:int, firstname:chararray, lastname:chararray, phone:chararray, city:chararray );
grunt> DUMP student;
本地模式的结果

但对于相同的输入文件和pig脚本,mapreduce模式无法成功运行

清管器-x mapreduce

grunt> student = LOAD '/pig_data/student.txt' USING PigStorage(',') AS ( id:int, firstname:chararray, lastname:chararray, phone:chararray, city:chararray );
grunt> STORE student INTO '/pig_data/student_out' USING PigStorage (',');

mapreduce模式的结果 或 注意:student.txt已成功上载到HDFS

hdfs dfs -ls  /pig_data 
Found 2 items
-rw-r--r--   3 ubuntu supergroup     861585 2019-07-12 00:55 /pig_data/en.sahih.txt
-rw-r--r--   3 ubuntu supergroup        234 2019-07-12 12:25 /pig_data/student.txt
即使在grunt下,该命令也会返回正确的HDFS文件名

grunt> fs -cat /pig_data/student.txt 
  • 当文件存在于该文件中时,为什么会说读取数据失败 路径
  • 我失踪的可能原因是什么

感谢您的帮助。

部分问题在于Pig 0.17还不支持Hadoop 3

0.17的州:

2017年6月19日:发布0.17.0

本版本的亮点是介绍了Pig on Spark

注: 此版本适用于Hadoop2.X(2.7.X以上版本)


JIRA仍在进行中。

您确定它没有在本地检查吗?您尚未在URL中指定HDFS。注意这里是如何使用完整的HDFS URL的,为什么我需要HDFS路径,因为pig可以使用fs识别它?仅供参考,我也尝试过hdfs路径:(如果指向本地存储的同一文件,作业是否运行?是的。在本地模式下,我的本地文件成功运行。唯一的问题是,它在mapreduce模式下失败,错误如下:Ooops!某些作业失败!如果希望Pig在失败时立即停止,请指定-stop_on_failure。感谢您的参考:)。我很困惑,因为它是在本地模式下工作的。是的,本地模式只使用底层操作系统的文件系统。与hive 3.1.1相同,它也支持hadoop 3.1.1….(如果有人受益,只需将链接粘贴到此处作为参考)
grunt> fs -cat /pig_data/student.txt