Зачем Spark нужны библиотеки hadoop в локальном или автономном режиме? - PullRequest
0 голосов
/ 28 декабря 2018

Я скачал пакет spark-2.4.0-bin-without-hadoop.tgz и установил в свою систему.Я хотел бы запустить простой искровой код Apache в локальном режиме, но он дает мне NoClassDefFoundError .

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/conf/Configuration
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.conf.Configuration

После поиска в Google я обнаружил, что SPARK_DIST_CLASSPATH необходимо установить в classpath hadoop.Я следовал инструкции, и она сработала.

Я хотел бы знать, зачем нужны библиотеки hadoop для запуска spark в автономном или локальном режиме.

1 Ответ

0 голосов
/ 28 декабря 2018

Spark использует класс конфигурации Hadoop и API-интерфейсы FileSystem, главным образом, чтобы упростить интеграцию с другими системами в экосистеме Hadoop, и при этом нет необходимости по сути копировать все эти классы изначально в кодовую базу Spark.Другими словами, Spark - это среда обработки данных, а не интерфейс Filesytem или библиотека управления конфигурацией.

Когда вы загружаете версию Spark без-hadoop , это фактически означает, что у вас уже установлен Hadoop и он доступен в PATH & classpath (через hadoop classpath).Кроме того, на странице загрузки Spark написано "предоставленный пользователем" Hadoop, чтобы прояснить это.

...