В предложении INSERT INTO TABLE происходит сбой UDF - PullRequest
0 голосов
/ 12 февраля 2019

Я создал 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;

Сбой запроса с выводом ниже:

FAILED: Ошибка выполнения, код возврата 2 из org.apache.hadoop.hive.ql.exec.tez.TezTask.Вершина не выполнена, vertexName = Карта 1, vertexId = vertex_1543885299280_8715_1_00, диагностика = [Задача не выполнена, taskId = task_1543885299280_8715_1_00_000040, диагностика = [TaskAttempt 0 не удалось, информация = [контейнерный контейнер_e14_154382 с контейнерной_заводом завершен, диагностика_80_15_154388994).]], TaskAttempt 1 не выполнен, info = [Контейнер container_e14_1543885299280_8715_01_000043 завершен с диагностикой, установленной на [Контейнер завершен.]], TaskAttempt 2 не выполнен, info = [Container container_e14_1543885299280_8715_01_000087 завершен с диагностикой, установленной на [Контейнер завершен.]], TaskAttempt 3 не выполнен, info = [Container container_e14_1543885299280_8715_01_000137 завершен с диагностикой, установленной на [Контейнер завершен.]]], Вершина не удалась из-за OWN_TASK_FAILURE, failTasks: 1 killTasks: 40, вершина vertex_1543885299280_8715_1_00 [карта 1] убита / не выполнена из-за: OWN_TASK_FAILURE] DAG не удалось из-за VERTEX_FAILURE.failedVertices: 1 killVertices: 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: Ошибка выполнения, код возврата 2 из org.apache.hadoop.hive.ql.exec.tez.TezTask.Вершина не выполнена, vertexName = Карта 1, vertexId = vertex_1543885299280_8715_1_00, диагностика = [Задача не выполнена, taskId = task_1543885299280_8715_1_00_000040, диагностика = [TaskAttempt 0 не удалось, информация = [контейнерный контейнер_e14_154382 с контейнерной_заводом завершен, диагностика_80_15_154388994).]], TaskAttempt 1 не выполнен, info = [Контейнер container_e14_1543885299280_8715_01_000043 завершен с диагностикой, установленной на [Контейнер завершен.]], TaskAttempt 2 не выполнен, info = [Container container_e14_1543885299280_8715_01_000087 завершен с диагностикой, установленной на [Контейнер завершен.]], TaskAttempt 3 не выполнен, info = [Container container_e14_1543885299280_8715_01_000137 завершен с диагностикой, установленной на [Контейнер завершен.]]], Вершина не удалась из-за OWN_TASK_FAILURE, failTasks: 1 killTasks: 40, вершина vertex_1543885299280_8715_1_00 [карта 1] убита / не выполнена из-за: OWN_TASK_FAILURE] DAG не удалось из-за VERTEX_FAILURE.failedVertices: 1 killVertices: 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 не работает.

1 Ответ

0 голосов
/ 15 февраля 2019

In Hive 1.2.x по умолчанию hive.execution.engine is tez .

Когда я отправил запрос INSERT INTO TABLEгде SELECT имел UDF, тогда запрос не удался.

Но когда я изменил механизм выполнения на MapReduce: set hive.execution.engine=mr;, тогда мой запрос INSERT был успешно выполнен.

Надеюсь, это поможет и другим!

...