Инкрементальная нагрузка Sqoop с использованием Informatica BDM
Я новичок в Informatica BDM. У меня есть сценарий использования, в котором я должен импортировать данные постепенно (100 таблиц) из RDBMS в Hive ежедневно. Может кто-нибудь, пожалуйста, направить меня с наилучшим подходом для достижения этой цели?
Спасибо, Сумит
2 ответа
Hadoop - это подход "чтение-запись-много-много раз" (WORM), а добавочная загрузка - непростая задача. Ниже приведены рекомендации, которые вы можете выполнить и подтвердить свои текущие требования.
- Если таблица небольшого / среднего размера и не имеет слишком много записей, лучше обновить всю таблицу
- Если таблица слишком большая и при добавочной загрузке выполняется операция добавления / обновления / удаления, вы можете подумать о том, чтобы подготовить дельту и выполнить операцию соединения, чтобы заново создать набор данных.
- Для большой таблицы и большой дельты можно создать номер версии для всех последних записей, и каждая дельта может прийти в новый каталог, и необходимо создать представление, чтобы получить последнюю версию для дальнейшей обработки. Это позволяет избежать тяжелой операции слияния.
Если операция удаления не является изменением, вам также нужно подумать, как с ней работать, и в этом случае вам необходимо получить полное обновление.
Вы можете использовать динамические сопоставления для своего варианта использования, где имя таблицы можно параметризовать. Это поможет вам принять данные в улей с помощью одного сопоставления, а метаданные исходной таблицы будут получены во время выполнения.