0

我创建了一个 UDF translateText(),它调用 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 失败,info=[容器容器_e14_15438885292800421 完成诊断集52928000427 ]],TaskAttempt 1 失败,info=[Container container_e14_1543885299280_8715_01_000043 已完成,诊断设置为 [Container completed。]],TaskAttempt 2 失败,info=[Container container_e14_1543885299280_8715_01_000087 已完成,诊断设置为 [Container completed。]],TaskAttempt 3 失败,info=[Container container_e14_1543885299280_8715_01_000137 已完成,诊断设置为 [Container completed。]]],由于 OWN_TASK_FAILURE,Vertex 没有成功,failedTasks:1killedTasks:40, Vertex vertex_1543885299280_8715_1_00 [Map 1] 由于:OWN_TASK_FAILURE]DAG 由于 VERTEX_FAILURE 而没有成功。failedVertices:1killVertices: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:FAILED:执行错误,从 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 失败,info=[容器容器_e14_15438885292800421 完成诊断集52928000427 ]],TaskAttempt 1 失败,info=[容器 container_e14_1543885299280_8715_01_000043 已完成,诊断设置为 [容器已完成。]],TaskAttempt 2 失败,info=[Container container_e14_1543885299280_8715_01_000087 已完成,诊断设置为 [Container completed。]],TaskAttempt 3 失败,info=[Container container_e14_1543885299280_8715_01_000137 已完成,诊断设置为 [Container completed。]]],由于 OWN_TASK_FAILURE,Vertex 没有成功,failedTasks:1killedTasks:40,Vertex vertex_1543885299280_8715_1_00 [Map 1] 由于:OWN_TASK_FAILURE 而被杀死/失败]DAG 由于 VERTEX_FAILURE 而没有成功。failedVertices:1killVertices: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) info=[容器 container_e14_1543885299280_8715_01_000087 已完成,诊断设置为 [容器已完成。]],TaskAttempt 3 失败,info=[Container container_e14_1543885299280_8715_01_000137 已完成,诊断设置为 [Container completed。]]],由于 OWN_TASK_FAILURE,Vertex 没有成功,failedTasks:1killedTasks:40,Vertex vertex_1543885299280_8715_1_00 [Map 1] 由于:OWN_TASK_FAILURE 而被杀死/失败]DAG 由于 VERTEX_FAILURE 而没有成功。failedVertices:1killVertices: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) info=[容器 container_e14_1543885299280_8715_01_000087 已完成,诊断设置为 [容器已完成。]],TaskAttempt 3 失败,info=[Container container_e14_1543885299280_8715_01_000137 已完成,诊断设置为 [Container completed。]]],由于 OWN_TASK_FAILURE,Vertex 没有成功,failedTasks:1killedTasks:40,Vertex vertex_1543885299280_8715_1_00 [Map 1] 由于:OWN_TASK_FAILURE 而被杀死/失败]DAG 由于 VERTEX_FAILURE 而没有成功。failedVertices:1killVertices: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) info=[容器 container_e14_1543885299280_8715_01_000137 已完成,诊断设置为 [容器已完成。]]],由于 OWN_TASK_FAILURE,Vertex 没有成功,failedTasks:1killedTasks:40,Vertex vertex_1543885299280_8715_1_00 [Map 1] 由于:OWN_TASK_FAILURE 而被杀死/失败]DAG 由于 VERTEX_FAILURE 而没有成功。failedVertices:1killVertices: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) info=[容器 container_e14_1543885299280_8715_01_000137 已完成,诊断设置为 [容器已完成。]]],由于 OWN_TASK_FAILURE,Vertex 没有成功,failedTasks:1killedTasks:40,Vertex vertex_1543885299280_8715_1_00 [Map 1] 由于:OWN_TASK_FAILURE 而被杀死/失败]DAG 由于 VERTEX_FAILURE 而没有成功。failedVertices:1killVertices: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)

基本上 INSERT INTO TABLE 不起作用。

4

1 回答 1

1

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

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

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

希望这对其他人也有帮助!

于 2019-02-15T06:25:36.903 回答