Vertex не удалось из-за OWN_TASK_FAILURE HIVE - PullRequest
0 голосов
/ 26 февраля 2020

Я пытаюсь реализовать запрос улья, который попытается обновить значения даты для записей, которые недавно были добавлены в таблицу.

Я получил фрагмент кода здесь https://blog.cloudera.com/update-hive-tables-easy-way-2/

Я пытаюсь реализовать SDR типа 2.

Вот мои таблицы enter image description here

enter image description here

enter image description here

Ниже приведен запрос, который я выполняю

merge into contacts_target
using (
  -- The base staging data.
  select
    contacts_update_stage.id as join_key,
    contacts_update_stage.* from contacts_update_stage

  union all

  -- Generate an extra row for changed records.
  -- The null join_key means it will be inserted.
  select
    null, contacts_update_stage.*
  from
    contacts_update_stage join contacts_target on contacts_update_stage.id = contacts_target.id
  where
    ( contacts_update_stage.email <> contacts_target.email or contacts_update_stage.name <> contacts_target.name )
    and contacts_target.valid_to is null
) sub
on sub.join_key = contacts_target.id
when matched
  and sub.email <> contacts_target.email or sub.name <> contacts_target.name
  then update set valid_to = current_date()
when not matched
  then insert values (sub.id, sub.name, sub.email, current_date(), null);

Я получаю сообщение об ошибке

Вершина не удалась из-за OWN_TASK_FAILURE, failTasks: 1 killTasks: 0, Vertex vertex_1582200340475_2730_40_08 [Редуктор 5] убит / не удалось из-за: OWN_TASK_FAILURE] DAG не удалось из-за VERTEX_FAILURE. failedVertices: 1 killVertices: 0 (state = 08S01, code = 2)

Я пробовал разные вещи, например, использовать левое внешнее соединение вместо слияния, думая, что с запросом что-то не так, но пока получить ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...