2016-04-25 4 views
0

Моя цель - таблица Hive с использованием инструмента ET ET ET ET.Обновления улей с использованием Informatica

Обновления не поддерживаются в ранних версиях Hive. Итак, как мне делать обновления записей в этом сценарии. Можно ли использовать функцию обновления улей с помощью API-адреса Hive и функции транзакции.

+0

Вставить обновления событий и сделать карту/уменьшить, чтобы получить ответ? – jpopesculian

+0

Я хочу обновить данные о кустах, используя информатику, но куст не позволяет обновления, поэтому любая работа вокруг этого? – shashank

ответ

0

Необходимо изучить источники событий (https://msdn.microsoft.com/en-us/library/dn589792.aspx).

Подумайте о своей базе данных как о хранении событий, а не о товарах. Поэтому, если у вас есть объект counter, который вы хотите использовать в своей базе данных, вместо обновления counter от 0 до 1 до 2 и т. Д., Вы просто вставляете новый документ всякий раз, когда вы увеличиваете его, а затем берете сумму/количество этих документов.

1

Informatica поддерживает обновления для таблиц hive из Informatica 9.6 Версия HF3 при условии, что таблицы поддерживают ACID, для получения дополнительной информации вы можете обратиться к этой ссылке (https://cwiki.apache.org/confluence/display/Hive/Hive+Transactions), но вместо этого я предпочел бы сделать это в двух шаг за шагом

1) Определите все записи, которые существуют только в цели, и записи, которые существуют ТОЛЬКО в данных этапа 2) Объедините эти два и загрузите их во временную таблицу. 3) Переименуйте Наконец временная таблица фактического имени таблицы назначения

выше будет работать только один тип SCD 1 реализаций

1

обновления не лучший вариант при работе на улей, создавая промежуточные временные таблицы лучше дизайн. Шаги по обновлению существующей таблицы улья.

  1. Предположим, вы работаете над table-tbl_employee и хотите обновить несколько строк.
  2. Создайте новую промежуточную таблицу - tbl_employee_update с точно таким же количеством записей с обновленными данными столбца.
  3. Создайте новую промежуточную таблицу, которая имеет данные из исходного table-tbl_employee минус строки, которые уже присутствуют в tbl_employee_update. Назовите эту таблицу как tbl_employee_retained
  4. Do союза по tbl_employee_retained и tbl_employee_update и назовите его tbl_employee_temp
  5. Теперь замените tbl_employee с tbl_employee_temp на первое обеспечение tbl_employee_temp оказывает запись и другие проверки вменяемости.
Смежные вопросы