Недавно я работал над импортом данных из Oracle в HDFS с помощью Sqoop Import.
Вот один из полученных уроков:
Я начал наблюдать, что Sqoop медленно выполняет граничный запрос, например, импортированный набор данныхчерез 5 часов пограничный запрос занял 1 час.
Я посмотрел на базовый запрос, и он SELECT MIN(id), max(id) from user
Когда я выполнял этот запрос на огромной таблице (миллиарды записей), он зависи Oracle не ответил быстро .Принимая во внимание, что SELECT MIN(id) from user
ИЛИ SELECT max(id) from user
работает быстро.
У меня не было подробностей о структуре таблиц Oracle, информации об индексах и т. Д.
В этом посте я хочу рассказать о том, как я решил эту проблему в своеми спросите сообщество, если кто-то решил то же самое по-другому.
Другой вопрос, почему разработчики Sqoop не учитывали производительность пограничного запроса.
Я не уверен, что Sqoop все еще частоИспользуй, проголосуй за этот вопрос, если он все еще актуален, и я сделаю пост всех извлеченных уроков.