Czy są jakieś zależności między platformą Spark i Hadoop ?
Jeśli nie, czy są jakieś funkcje, za którymi będę tęsknić, uruchamiając Spark bez Hadoop ?
Spark może działać bez Hadoop, ale część jego funkcjonalności opiera się na kodzie Hadoop (np. Obsługa plików Parquet). Uruchamiamy Spark na Mesos i S3, który był trochę trudny do skonfigurowania, ale działa naprawdę dobrze po zakończeniu (możesz przeczytać podsumowanie tego, co było potrzebne do prawidłowego ustawienia tutaj ).
(Edytuj) Uwaga: od wersji 2.3.0 Spark dodał również natywną obsługę Kubernetes
Spark to rozproszony aparat obliczeniowy w pamięci.
Hadoop to platforma dla rozproszonego magazynu ( HDFS ) i rozproszonego przetwarzania ( YARN ).
Spark może działać z komponentami Hadoop lub bez nich (HDFS / YARN)
Ponieważ Spark nie ma własnego rozproszonego systemu pamięci masowej, musi polegać na jednym z tych systemów do przetwarzania rozproszonego.
S3 - Niepilne zadania wsadowe. S3 pasuje do bardzo specyficznych przypadków użycia, gdy lokalność danych nie jest krytyczna.
Cassandra - Idealny do strumieniowej analizy danych i przesady w przypadku zadań wsadowych.
HDFS - doskonale nadaje się do zadań wsadowych bez uszczerbku dla lokalizacji danych.
Możesz uruchomić Spark'a w trzech różnych trybach: Standalone, YARN i Mesos
Spójrz na poniższe pytanie SE, aby uzyskać szczegółowe wyjaśnienie zarówno na temat rozproszonej pamięci masowej, jak i rozproszonego przetwarzania.
Domyślnie Spark nie ma mechanizmu magazynowania.
Do przechowywania danych potrzebny jest szybki i skalowalny system plików. Możesz użyć S3 lub HDFS lub dowolnego innego systemu plików. Hadoop jest opcją ekonomiczną ze względu na niski koszt.
Dodatkowo, jeśli używasz Tachyon, zwiększy to wydajność dzięki Hadoop. Jest wysoce zalecane Hadoop do przetwarzania iskier Apache .
Tak, iskra może działać bez hadoopa. Wszystkie podstawowe funkcje Spark będą nadal działać, ale przegapisz takie rzeczy, jak łatwe dystrybuowanie wszystkich plików (kodu i danych) do wszystkich węzłów w klastrze za pośrednictwem hdfs itp.
Zgodnie z dokumentacją Spark, Spark może działać bez Hadoop.
Możesz go uruchomić jako tryb autonomiczny bez menedżera zasobów.
Ale jeśli chcesz działać w konfiguracji z wieloma węzłami , potrzebujesz menedżera zasobów, takiego jak YARN lub Mesos, i rozproszonego systemu plików, takiego jak HDFS, S3 itp.
Tak, możesz zainstalować Spark'a bez Hadoop. To byłoby trochę trudne. Możesz polecić arnon link do skonfigurowania na S3 parkietu jako przechowywania danych. http://arnon.me/2015/08/spark-parquet-s3/
Spark tylko przetwarza i używa pamięci dynamicznej do wykonania zadania, ale do przechowywania danych potrzebujesz jakiegoś systemu przechowywania danych. Tutaj hadoop występuje w roli ze Sparkiem, zapewnia miejsce do przechowywania dla Sparka. Kolejnym powodem używania Hadoop z Spark jest to, że są one open source i oba mogą się łatwo zintegrować ze sobą, w porównaniu z innymi systemami przechowywania danych. W przypadku innych pamięci, takich jak S3, konfiguracja powinna być trudna, jak wspomniano w powyższym linku.
Ale Hadoop ma również swoją jednostkę przetwarzania o nazwie Mapreduce.
Chcesz poznać różnicę w obu?
Sprawdź ten artykuł: https://www.dezyre.com/article/hadoop-mapreduce-vs-apache-spark-who-wins-the-battle/83
Myślę, że ten artykuł pomoże ci to zrozumieć
czego użyć,
kiedy używać i
jak używać !!!
Tak oczywiście. Spark to niezależna platforma obliczeniowa. Hadoop to dystrybucyjny system magazynowania (HDFS) z platformą obliczeniową MapReduce. Spark może pobierać dane z HDFS, a także z dowolnego innego źródła danych, takiego jak tradycyjna baza danych (JDBC), kafka, a nawet dysk lokalny.
Tak, Spark może działać z instalacją Hadoop lub bez niej, aby uzyskać więcej informacji, które można odwiedzić - https://spark.apache.org/docs/latest/
Tak, Spark może działać bez Hadoop. Możesz zainstalować Spark na swojej lokalnej maszynie bez Hadoop. Ale Spark lib zawiera biblioteki pre Haddop, tj. Są używane podczas instalacji na komputerze lokalnym.
Nie. Wymaga pełnej instalacji Hadoop, aby zacząć działać - 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