Назад | Перейти на главную страницу

Попытка выяснить длительное время работы с заданиями sqooping (от sql server до hadoop)

Я унаследовал нового клиента как sql server dba, и они используют некоторую инфраструктуру на основе java, которая имеет соединение jdbc от sql server к hadoop. У них есть задание sqooping, которое запускается один раз в день, извлекая из некоторых таблиц сервера sql, которое обычно выполняется час. Однако в последнее время заказчик видит, что иногда это может занять до 4-8 часов. Тогда у него будет нормальный рабочий день или два.

Я не нашел ничего, что могло бы вызвать это с нашей стороны. Монитор активности выглядит довольно нормально, когда они запускают задание, места нет, таблицы, из которых он извлекается, спроектированы нормально с правильными индексами. А поскольку в некоторые дни он работает намного быстрее, в любом случае это не постоянное состояние.

Моя единственная теория до сих пор связана с подключениями jdbc, которые приложение sqooping делает к серверу sql. Я думаю, что, возможно, java не закрывает соединения jdbc и / или пытается повторно использовать соединение после сбоя первого, и вместо этого требуется много времени, чтобы создать новое соединение. У меня есть эта теория для исследования проблемы, но когда я спросил разработчика, они сказали, что не уверены, что правильно закрывают соединения jdbc после использования, потому что часть соединения jdbc похоронена в структуре.

Что я могу упустить? Могу ли я в любом случае доказать, что это касается приложений, или мне кажется, что я что-то упускаю? Спасибо.