Есть ли зависимости между Spark и Hadoop ?
Если нет, то есть ли какие-то функции, которые я пропущу при запуске Spark без Hadoop ?
Ответы:
Spark может работать без Hadoop, но некоторые его функции зависят от кода Hadoop (например, обработка файлов Parquet). Мы бежим искру на Mesos и S3 , который был немного сложнее настроить , но работает очень хорошо , когда - то сделали (вы можете прочитать краткую информацию о том, что необходимо правильно установить его здесь ).
(Edit) Примечание: начиная с версии 2.3.0 Spark также добавил встроенную поддержку Kubernetes.
Spark - это механизм распределенных вычислений в памяти.
Hadoop - это платформа для распределенного хранения ( HDFS ) и распределенной обработки ( YARN ).
Spark может работать с компонентами Hadoop или без них (HDFS / YARN)
Поскольку Spark не имеет собственной распределенной системы хранения, для распределенных вычислений он должен зависеть от одной из этих систем хранения.
S3 - Несрочные пакетные задания. S3 подходит для очень конкретных случаев использования, когда местоположение данных не критично.
Cassandra - идеально подходит для потокового анализа данных и избыточного количества для пакетных заданий.
HDFS - отлично подходит для пакетных заданий без ущерба для локальности данных.
Вы можете запускать Spark в трех разных режимах: автономный, YARN и Mesos.
Взгляните на приведенный ниже вопрос SE для подробного объяснения как распределенного хранения, так и распределенной обработки.
По умолчанию Spark не имеет механизма хранения.
Для хранения данных необходима быстрая и масштабируемая файловая система. Вы можете использовать S3 или HDFS или любую другую файловую систему. Hadoop - экономичный вариант за счет невысокой стоимости.
Кроме того, если вы используете Tachyon, это повысит производительность с Hadoop. Для обработки искры apache настоятельно рекомендуется Hadoop .
Да, Spark может работать без хадупа. Все основные функции Spark продолжат работать, но вы упустите такие вещи, как простое распространение всех ваших файлов (кода и данных) на все узлы в кластере через 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), кафка или даже локальный диск.
Да, Spark может работать как с установкой Hadoop, так и без нее, чтобы получить более подробную информацию, посетите: https://spark.apache.org/docs/latest/
Да, Spark может работать без Hadoop. Вы можете установить Spark на свой локальный компьютер без Hadoop. Но Spark lib поставляется с библиотеками pre 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