Чи існують залежності між Spark та Hadoop ?
Якщо ні, чи є якісь функції, які я втрачу, запустивши Spark без Hadoop ?
Чи існують залежності між Spark та Hadoop ?
Якщо ні, чи є якісь функції, які я втрачу, запустивши Spark без Hadoop ?
Відповіді:
Spark може працювати без Hadoop, але деякі його функції покладаються на код Hadoop (наприклад, обробка файлів Parquet). Ми запускаємо Spark на Mesos і S3, який було трохи складно налаштувати, але він працює дуже добре після того, як це зроблено (ви можете прочитати короткий зміст того, що потрібно було правильно встановити тут ).
(Редагувати) Примітка: з версії 2.3.0 Spark також додала вбудовану підтримку Kubernetes
Spark - це розподілений обчислювальний механізм в пам'яті.
Hadoop - це структура для розподіленого зберігання ( HDFS ) та розподіленої обробки ( YARN ).
Spark може працювати з компонентами Hadoop або без них (HDFS / YARN)
Оскільки Spark не має власної розподіленої системи зберігання, для розподілених обчислень вона повинна залежати від однієї з цих систем зберігання.
S3 - нетермінові пакетні завдання. S3 підходить для дуже конкретних випадків використання, коли локалізація даних не є критичною.
Кассандра - ідеально підходить для потокового аналізу даних та надмірного рівня для пакетних робіт.
HDFS - чудово підходить для пакетних робіт без шкоди для локалізації даних.
Ви можете запустити Spark у трьох різних режимах: автономний, YARN та Mesos
Подивіться на нижченаведене запитання про SE для детального пояснення як розподіленого сховища, так і розподіленої обробки.
За замовчуванням Spark не має механізму зберігання.
Для зберігання даних потрібна швидка та масштабована файлова система. Ви можете використовувати S3 або HDFS або будь-яку іншу файлову систему. Hadoop - економічний варіант завдяки низькій вартості.
Крім того, якщо ви використовуєте Tachyon, це підвищить продуктивність за допомогою Hadoop. Настійно рекомендується Hadoop для обробки іскр apache .
Так, іскра може працювати без hadoop. Всі основні функції іскри продовжуватимуть працювати, але ви пропустите такі речі, як легке розповсюдження всіх ваших файлів (коду, а також даних) між усіма вузлами кластера за допомогою hdfs тощо.
Відповідно до документації Spark, Spark може працювати без Hadoop.
Ви можете запустити його як автономний режим без будь-якого менеджера ресурсів.
Але якщо ви хочете запустити програму з кількома вузлами , вам потрібен менеджер ресурсів, наприклад YARN або Mesos, та розподілена файлова система, така як HDFS, S3 тощо
Так, ви можете встановити Spark без Hadoop. Це буде трохи складно. Ви можете посилатися на посилання arnon, щоб використовувати паркет для налаштування на S3 як сховище даних. http://arnon.me/2015/08/spark-parquet-s3/
Spark - це лише обробка даних, яка використовує динамічну пам’ять для виконання завдання, але для зберігання даних потрібна певна система зберігання даних. Тут hadoop виступає в ролі зі Spark, він забезпечує сховище для Spark. Ще однією причиною використання Hadoop із Spark є те, що вони мають відкритий код і обидва можуть легко інтегруватися між собою, порівняно з іншими системами зберігання даних. Для іншого сховища, такого як S3, вам може бути хитро налаштувати його, як згадується у посиланні вище.
Але Hadoop також має свій процесор під назвою Mapreduce.
Хочете знати різницю в обох?
Перевірте цю статтю: https://www.dezyre.com/article/hadoop-mapreduce-vs-apache-spark-who-wins-the-battle/83
Думаю, ця стаття допоможе вам зрозуміти
що використовувати,
коли використовувати і
як користуватись !!!
Так, звісно. Spark - це незалежна система обчислень. Hadoop - це система розподіленого сховища (HDFS) з картою обчислення MapReduce. Spark може отримувати дані з HDFS, а також з будь-якого іншого джерела даних, такого як традиційна база даних (JDBC), kafka або навіть локальний диск.
Так, Spark може працювати з установкою Hadoop або без неї, щоб отримати докладнішу інформацію - https://spark.apache.org/docs/latest/
Так, іскра може працювати без Hadoop. Ви можете встановити іскру в локальну машину без використання Hadoop. Але Spark lib постачається з попередньою бібліотекою Haddop, тобто використовується під час встановлення на локальній машині.
Ні. Для початку роботи потрібна повномасштабна інсталяція Hadoop - https://issues.apache.org/jira/browse/SPARK-10944
$ ./spark-shell Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/fs/FSDataInputStream at org.apache.spark.deploy.SparkSubmitArguments$$anonfun$mergeDefaultSparkProperties$1.apply(SparkSubmitArguments.scala:118) at org.apache.spark.deploy.SparkSubmitArguments$$anonfun$mergeDefault at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 7 more