在INSERT INTO TABLE子句中,UDF失败

时间:2019-02-12 07:42:54

标签: hive hive-udf

我创建了一个UDF translationText(),该函数调用API来翻译给定的文本并在select子句中返回正确的结果,但是当我按如下所示应用INSERT INTO TABLE时:

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。顶点失败,vertexName = Map 1,vertexId = vertex_1543885299280_8715_1_00,诊断= [任务失败,taskId = task_1543885299280_8715_1_00_000040,诊断= [TaskAttempt 0失败,信息= [容器container_e14_1543885299280_8715_01_000042完成,诊断已设置为[容器]。 ]],TaskAttempt 1失败,信息= [Container container_e14_1543885299280_8715_01_000043已完成,并且诊断设置为[Containercompleted。 ]],TaskAttempt 2失败,信息= [Container container_e14_1543885299280_8715_01_000087已完成,并且诊断设置为[Container complete.。 ]],TaskAttempt 3失败,信息= [Container container_e14_1543885299280_8715_01_000137完成,并且诊断设置为[Container complete.。 ]]],由于OWN_TASK_FAILURE而导致顶点未成功,失败了任务:1,任务:40,顶点vertex_1543885299280_8715_1_00 [地图1]被杀死/失败,因:OWN_TASK_FAILURE] DAG由于VERTEX_FAILURE而未能成功。 failedVertices:1 KilledVertices:019/02/12 06:54:58 [ATS Logger 0]:INFO hooks.ATSHook:收到了针对:bduser_20190212065438_6cf35096-aa74-48d1-a8ae-6d76b0049099的挂机后通知 19/02/12 06:54:58 [main]:错误ql.Driver:失败:执行错误,从org.apache.hadoop.hive.ql.exec.tez.TezTask返回代码2。顶点失败,vertexName = Map 1,vertexId = vertex_1543885299280_8715_1_00,诊断= [任务失败,taskId = task_1543885299280_8715_1_00_000040,诊断= [TaskAttempt 0失败,信息= [容器container_e14_1543885299280_8715_01_000042完成,诊断已设置为[容器]。 ]],TaskAttempt 1失败,信息= [Container container_e14_1543885299280_8715_01_000043已完成,并且诊断设置为[Containercompleted。 ]],TaskAttempt 2失败,信息= [Container container_e14_1543885299280_8715_01_000087已完成,并且诊断设置为[Container complete.。 ]],TaskAttempt 3失败,信息= [Container container_e14_1543885299280_8715_01_000137完成,并且诊断设置为[Container complete.。 ]]],由于OWN_TASK_FAILURE而导致顶点未成功,失败了任务:1,任务:40,顶点vertex_1543885299280_8715_1_00 [地图1]被杀死/失败,因:OWN_TASK_FAILURE] DAG由于VERTEX_FAILURE而未能成功。 failedVertices:1 KilledVertices:0 19/02/12 06:54:58 [ATS Logger 0]:DEBUG security.UserGroupInformation:PrivilegedAction as:bduser(auth:SIMPLE)来自:org.apache.hadoop.yarn.client.api.impl.TimelineWriter.doPosting( TimelineWriter.java:112)

基本上无法插入表。

1 个答案:

答案 0 :(得分:1)

Hive 1.2.x 中,默认情况下 hive.execution.engine tez

当我提交SELECT具有UDF的INSERT INTO TABLE查询时,查询失败。

但是当我将执行引擎更改为MapReduce:set hive.execution.engine=mr;时,我的INSERT查询就成功运行了。

希望这也能帮助其他人!