Pig的“垃圾场”不工作的aws

zynd9foi  于 2021-06-21  发布在  Pig
关注(0)|答案(2)|浏览(319)

我正在aws的emr上尝试pig命令。但即使是很小的命令也不能像我预期的那样工作。我所做的就是跟随。
将以下6行另存为 ~/a.csv .

1,2,3
4,2,1
8,3,4
4,3,3
7,2,5
8,4,3

启动清管器
加载csv文件。

grunt> A = load './a.csv' using PigStorage(',');
16/01/06 13:09:09 INFO Configuration.deprecation: fs.default.name is deprecated. Instead, use fs.defaultFS

转储变量a。

grunt> dump A;

但这个命令失败了。我希望这个命令生成6个元组,这些元组在.csv中描述。转储命令很多信息行和错误行。错误行如下。

91711 [main] ERROR org.apache.pig.tools.pigstats.PigStats  - ERROR 0: java.lang.IllegalStateException: Job in state DEFINE instead of RUNNING
16/01/06 13:10:08 ERROR pigstats.PigStats: ERROR 0: java.lang.IllegalStateException: Job in state DEFINE instead of RUNNING
91711 [main] ERROR org.apache.pig.tools.pigstats.mapreduce.MRPigStatsUtil  - 1 map reduce job(s) failed!
16/01/06 13:10:08 ERROR mapreduce.MRPigStatsUtil: 1 map reduce job(s) failed!

[...skipped...]

Input(s):
Failed to read data from "hdfs://ip-xxxx.eu-central-1.compute.internal:8020/user/hadoop/a.csv"

Output(s):
Failed to produce result in "hdfs://ip-xxxx.eu-central-1.compute.internal:8020/tmp/temp-718505580/tmp344967938"

[...skipped...]

91718 [main] ERROR org.apache.pig.tools.grunt.Grunt  - ERROR 1066: Unable to open iterator for alias A. Backend error : java.lang.IllegalStateException: Job in state DEFINE instead of RUNNING
16/01/06 13:10:08 ERROR grunt.Grunt: ERROR 1066: Unable to open iterator for alias A. Backend error : java.lang.IllegalStateException: Job in state DEFINE instead of RUNNING

(我已经更改了类似ip的描述。)错误消息似乎表明load操作符也失败了。
我不知道为什么连垃圾处理操作员都失败了。你能给我一些建议吗?
笔记
我还在.csv中使用tab而不是逗号和execute A = load './a-tab.csv'; ,但却无济于事。 $ pig -x local -> A = load 'a.csv' using PigStorage(','); -> dump A; . 然后

Input(s):
Failed to read data from "file:///home/hadoop/a.csv"

如果我使用完整路径,即 A = load '/home/hadoop/a.csv' using PigStorage(','); ,然后我得到

Input(s):
Failed to read data from "/home/hadoop/a.csv"
hkmswyz6

hkmswyz61#

我也遇到了同样的问题。你可以试着 su root 使用root用户,然后 ./bin/pigPIG_HOME 以mapreduce模式启动清管器。另一方面,您还可以通过 sudo ./bin/pigPIG_HOME 开始养Pig,但你必须出口 JAVA_HOME 以及 HADOOP_HOME./bin/pig 文件。

cqoc49vn

cqoc49vn2#

如果你想使用你的本地文件系统,你应该在下面的步骤2中启动你的pig

bin/pig -x local

如果你开始的时候 bin/pig 将在dfs中搜索文件。所以你才会出错 Failed to read data from "hdfs://ip-x.eu-central-1.compute.internal:8020/user/hadoop/a.csv"

相关问题