hadoop:pig错误

cpjpxq1n  于 2021-06-03  发布在  Hadoop
关注(0)|答案(3)|浏览(328)

我是hadoop的绝对初学者,我只做了一些简单的测试,但是,我没有发现非常有用的错误消息。
我已经在centos 6.4虚拟机上以单节点模式设置了hadoop环境,并提供了4gb的ram。
我正在尝试运行一个简单的Pig脚本超过500mb的csv文件。我有两个500mb的文件,在第一个,脚本是成功的。对于第二个,大小大致相同,但数据不同(更多行),当执行率达到60%左右时,我会得到一个错误。
这是我使用的(非常简单的)pig脚本:

records = LOAD 'trans2013.csv' USING PigStorage(',') AS
(podracun_v_breme,datum_transakcije,znesek_transakcije,oznaka_valute_transakcije,racun_v_dobro,naziv_prejemnika,maticna_stevilka,davcna_stevilka,sifra_pu,zr_sns_oe,namen);
transaction_recs = GROUP records ALL;
tot_trans = FOREACH transaction_recs GENERATE
SUM(records.znesek_transakcije);
STORE tot_trans INTO '/user/root/totaltransactions';

这是我在终端中遇到的错误:
2014-04-06 10:28:29147[main]信息org.apache.pig.backend.hadoop.executionengine.mapreducelayer.mapreducelauncher-完成64%2014-04-06 10:28:30240[main]警告org.apache.pig.backend.hadoop.executionengine.mapreducelayer.mapreducelauncher-ooops!有些工作失败了!如果希望pig在发生故障时立即停止,请指定-stop\u on\u failure。2014-04-06 10:28:30241[main]info org.apache.pig.backend.hadoop.executionengine.mapreducelayer.mapreducelauncher-作业\u 1396637732046 \u 0008失败!停止运行所有相关作业2014-04-06 10:28:30241[main]info org.apache.pig.backend.hadoop.executionengine.mapreducelayer.mapreducelauncher-100%完成2014-04-06 10:28:30,460[main]error org.apache.pig.tools.pigstats.simplepgists-错误2997:无法从备份的错误中重新创建异常:attemptid:attempt_1396637732046_0008_m_000001_0 info:container killed 应用程序管理员。
2014-04-06 10:28:30461[main]error org.apache.pig.tools.pigstats.pigstattil-1 map reduce作业失败!2014-04-06 10:28:30463[main]信息org.apache.pig.tools.pigstats.simplepigstats-脚本统计:
hadoopversion pigversion userid启动于finishedat功能2.0.6-alpha 0.11.1 root 2014-04-06 10:25:49 2014-04-06 10:28:30 groupby
失败!
失败的作业:jobid alias feature message outputs job\u 1396637732046\u 0008 records,tot\u trans,transaction\u recs group\u by,combiner message:作业失败/用户/根/总事务,
输入:未能从“”读取数据hdfs://localhost:8020/user/root/trans2013.csv“
输出:未能在“/user/root/totaltransactions”中生成结果
计数器:写入的记录总数:写入的字节总数:0可溢出内存管理器溢出计数:0主动溢出的包总数:0主动溢出的记录总数:0
工作日:工作号:1396637732046\U 0008
2014-04-06 10:28:30463[main]info org.apache.pig.backend.hadoop.executionengine.mapreducelayer.mapreducelauncher-失败!2014-04-06 10:28:30491[main]错误org.apache.pig.tools.grunt.gruntparser-错误2997:无法从备份的错误中重新创建异常:attemptid:attempt_1396637732046_0008_m_000001_0 info:container killed 应用程序管理员。
日志文件中的详细信息:/root/pig\u 1396797945352.log
以下是日志中的错误:
后端错误消息

kjthegm6

kjthegm61#

------错误2997:无法从备份的错误中重新创建异常:attemptid:attempt_1396637732046_0008_m_000001_0 info:container killed 应用程序管理员。
org.apache.pig.backend.executionengine.executexception:错误2997:无法从备份的错误中重新创建异常:attemptid:attempt_1396637732046_0008_m_000001_0 info:container killed 应用程序管理员。
位于org.apache.pig.backend.hadoop.executionengine.mapreducelayer.launcher.geterrormessages(启动器。java:217)在org.apache.pig.backend.hadoop.executionengine.mapreducelayer.launcher.getstats(launcher。java:149)位于org.apache.pig.backend.hadoop.executionengine.mapreducelayer.mapreducelauncher.launchpig(mapreducelauncher)。java:400)在org.apache.pig.pigserver.launchplan(pigserver。java:1264)在org.apache.pig.pigserver.executecompiledlogicalplan(pigserver。java:1249)在org.apache.pig.pigserver.execute(pigserver。java:1239)在org.apache.pig.pigserver.executebatch(pigserver。java:333)位于org.apache.pig.tools.grunt.gruntparser.executebatch(gruntparser.org)。java:137)在org.apache.pig.tools.grunt.gruntparser.parsestoponerror(gruntparser。java:198)在org.apache.pig.tools.grunt.gruntparser.parsestoponerror(gruntparser。java:170)在org.apache.pig.tools.grunt.grunt.exec(grunt。java:84)在org.apache.pig.main.run(main。java:604)在org.apache.pig.main.main(main。java:157)在sun.reflect.nativemethodaccessorimpl.invoke0(本机方法)位于sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl)。java:57)在sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl。java:43)在java.lang.reflect.method.invoke(方法。java:606)在org.apache.hadoop.util.runjar.main(runjar。java:212)

axr492tv

axr492tv2#

所以。。。我尝试使用mapreduce选项运行pig脚本:

pig -x mapreduce script.pig

它仍然失败了,但至少产生了一个有意义的错误。似乎我不得不从csv文件中删除头文件,因为pig使用头行作为数据。似乎只有在处理浮点数时才会发生这种情况—如果对整数使用相同的脚本,则只会忽略标题行。
就是这样。首先从文件中删除头文件,然后对其运行脚本-它起作用了。

avkwfej4

avkwfej43#

--------attemptid:attempt_1396637732046_0008_m_000001_0 info:container killed 应用程序管理员。
清管器堆栈跟踪

相关问题