#hadoop #sqoop
#hadoop #sqoop
Вопрос:
Может кто-нибудь сказать мне, как быстро SQOOP может передавать 2 миллиарда записей за один раз. И я знаю, что это должно быть быстро, потому что sqoop выполняется параллельно, где некоторые входные данные будут создаваться также для вывода файлов в Hadoop. но я хочу знать подробности о скорости передачи MapReduce в размере 2 миллиардов записей за один раз.
Комментарии:
1. Это зависит от количества картографов, назначенных для этой работы. Так, например, если автономному (одиночному) процессу для передачи данных требуется 4 минуты, Sqoop с 4 картографами займет менее 1 минуты.
Ответ №1:
Вам нужно понимать моменты, отвечающие за более быструю передачу данных из СУБД в Hadoop.
- Количество картографов:
Увеличение количества картографов увеличит вашу скорость, потому что это делит задачу на части и выполняет импорт параллельно.
- Сбалансированная нагрузка на картографы:
Вам нужно разделить столбец, который является однородным (предпочитайте целое число). Это даст сбалансированную нагрузку на все картографы и передача будет быстрее.
- Количество подключений из СУБД:
Вы не можете просто слепо увеличивать количество картографов (например, 100 или более). Ваша СУБД должна разрешать эти одновременные подключения, иначе это будет узким местом со стороны СУБД.
--Direct
Режим использования:Если sqoop предоставляет прямой соединитель для конкретной СУБД, вы должны использовать его. Это ускорит передачу.
В двух словах, sqoop достаточно быстр, чтобы передавать миллиарды записей, просто помните об этих моментах при написании команды импорта.
Комментарии:
1. Вы не указали на сеть и саму RDMS в качестве ограничивающих факторов, у нас (это реальный пример) есть удаленный кластер, и у него ограниченная пропускная способность, в результате он ограничивает максимальную скорость передачи, и ничто из того, что вы указали, не поможет в этом. RDMS также имеет значение, является ли это системой с одним узлом или распределенной, насколько сильно она загружена?
2. @MaxNevermind Я согласен с вами. вы можете дать другой ответ, в котором упоминаются другие моменты .. 🙂