配置单元插入表子句udf失败

utugiqy6  于 2021-06-27  发布在  Hive
关注(0)|答案(1)|浏览(317)

我创建了一个udf translatetext(),它调用api来翻译给定的文本,并在select子句中返回正确的结果,但是当我应用insert into表时,如下所示:

INSERT OVERWRITE TABLE gl_staging_eve.header_text select header_text, translateText(header_text) from gl_staging_eve.header_text_only;

查询失败,输出如下:
失败:执行错误,从org.apache.hadoop.hive.ql.exec.tez.teztask返回代码2。vertex失败,vertexname=map 1,vertexid=vertex\u 1543885299280\u 8715\u 1\u 00,diagnostics=[任务失败,taskid=task\u 1543885299280\u 8715\u 1\u 00\u 000040,diagnostics=[任务尝试0失败,信息=[容器容器\u e14\u 1543885299280\u 8715\u 01\u 000042完成,诊断设置为[容器完成],任务尝试1失败,信息=[容器容器\u e14 \u 1543885299280 \u 8715 \u 01 \u 000043已完成,诊断设置为[容器已完成],任务尝试2失败,信息=[容器容器\u e14 \u 1543885299280 \u 8715 \u 01 \u 000087已完成,诊断设置为[容器已完成],任务尝试3失败,信息=[container container\u e14\u 1543885299280\u 8715\u 01\u 000137已完成,诊断设置为[container completed.]],由于自身任务失败,vertex未成功,failedtasks:1 killedtasks:40,vertex vertex_1543885299280_8715_1_00[map 1]已终止/失败,原因是:own_task_failure]由于vertex_失败,dag未成功。失败dvertices:1 killedvertices:019/02/12 06:54:58[ats logger 0]:info hooks.atshaked:收到的挂接后通知:bduser\u 20190212065438\u 6cf35096-aa74-48d1-a8ae-6d76b0049099 19/02/12 06:54:58[main]:错误ql.driver:失败:执行错误,从org.apache.hadoop.hive.ql.exec.tez.teztask返回代码2。vertex失败,vertexname=map 1,vertexid=vertex\u 1543885299280\u 8715\u 1\u 00,diagnostics=[任务失败,taskid=task\u 1543885299280\u 8715\u 1\u 00\u 000040,diagnostics=[任务尝试0失败,信息=[容器容器\u e14\u 1543885299280\u 8715\u 01\u 000042完成,诊断设置为[容器完成],任务尝试1失败,信息=[容器容器\u e14 \u 1543885299280 \u 8715 \u 01 \u 000043已完成,诊断设置为[容器已完成],任务尝试2失败,信息=[容器容器\u e14 \u 1543885299280 \u 8715 \u 01 \u 000087已完成,诊断设置为[容器已完成],任务尝试3失败,信息=[container container\u e14\u 1543885299280\u 8715\u 01\u 000137已完成,诊断设置为[container completed.]],由于自身任务失败,vertex未成功,failedtasks:1 killedtasks:40,vertex vertex_1543885299280_8715_1_00[map 1]已终止/失败,原因是:own_task_failure]由于vertex_失败,dag未成功。失败dvertices:1 killedvertices:0 19/02/12 06:54:58[ats logger 0]:调试security.usergroupinformation:privilegedaction as:bduser(auth:simple) from:org.apache.hadoop.yarn.client.api.impl.timelinewriter.doposting(timelinewriter。java:112)
基本上插入到表中是不起作用的。

1bqhqjot

1bqhqjot1#

在hive1.2.x中,默认情况下hive.execution.engine是tez。
当我提交insert into表查询时,select有udf,查询失败。
但是当我把执行引擎改成mapreduce时: set hive.execution.engine=mr; 然后,插入查询成功运行。
希望这对其他人也有帮助!

相关问题