Да, вы можете получить доступ к базе данных и HDFS через JDBC-коннекторы и API-интерфейс hadoop Java.
Но при работе с картами все будет вне вашего контроля при доступе к базе данных.
- Каждый картограф / редуктор пытается установить отдельное соединение с базой данных, что в конечном итоге влияет на производительность базы данных.
- Не будет никакой подсказки, какой преобразователь / преобразователь выполняет, какую часть набора результатов запроса.
- В случае, если для доступа к базе данных существует один картограф / редуктор, параллелизм hadoop будет потерян.
- Должен быть реализован отказоустойчивый механизм, если какой-либо из картографов / редукторов вышел из строя.
- список можно продолжить ......
Чтобы преодолеть все эти препятствия, Sqoop был разработан для передачи данных между RDBMS в / из HDFS.