Apache spark hadoop olmadan çalışabilir mi?


91

Spark ve Hadoop arasında herhangi bir bağımlılık var mı?

Eğer değilse, çalıştırdığınızda ben özleyeceğim herhangi özellikler vardır Spark olmadan Hadoop'un ?

Yanıtlar:


53

Spark, Hadoop olmadan çalışabilir, ancak bazı işlevleri Hadoop'un koduna dayanır (örneğin, Parquet dosyalarının işlenmesi). Biz kurmak için biraz zor oldu ama gerçekten iyi bir kez (eğer düzgün ayarlamak için gerekli bir özetini okuyabilir yapılır çalıştığı Mesos ve S3 üzerinde Spark azalıyor burada ).

(Düzenle) Not: 2.3.0 Spark sürümünden bu yana Kubernetes için yerel destek de ekledi


96

Spark , bellek içi dağıtılmış bir bilgi işlem motorudur.

Hadoop'un dağıtılmış depolama (bir çerçevedir HDF'ler ) ve dağıtılmış işlem ( İPLİK ).

Spark, Hadoop bileşenleri (HDFS / YARN) ile veya bunlar olmadan çalışabilir


Dağıtılmış Depolama:

Yana Kıvılcım kendi dağıtılan depolama sistemi yok, bu dağıtılmış bilgi işlem için bu depolama sistemlerinden birine bağlı zorundadır.

S3 - Acil olmayan toplu işler. S3, veri yerelliğinin kritik olmadığı çok özel kullanım durumlarına uyar.

Cassandra - Veri analizi akışı için mükemmel ve toplu işler için fazlalık.

HDFS - Veri yerelliğinden ödün vermeden toplu işler için mükemmel uyum.


Dağıtılmış işlem:

Spark'ı üç farklı modda çalıştırabilirsiniz: Bağımsız, YARN ve Mesos

Hem dağıtılmış depolama hem de dağıtılmış işleme hakkında ayrıntılı bir açıklama için aşağıdaki SE sorusuna bakın.

Spark için hangi küme türünü seçmeliyim?


23

Varsayılan olarak, Spark'ın depolama mekanizması yoktur.

Verileri depolamak için hızlı ve ölçeklenebilir dosya sistemine ihtiyaç duyar. S3 veya HDFS veya başka herhangi bir dosya sistemini kullanabilirsiniz. Hadoop, düşük maliyeti nedeniyle ekonomik bir seçenektir.

Ek olarak, Takyon kullanırsanız, Hadoop ile performansı artıracaktır. Apache kıvılcım işleme için kesinlikle Hadoop önerilir . görüntü açıklamasını buraya girin


6

Evet, kıvılcım hado olmadan koşabilir. Tüm temel kıvılcım özellikleri çalışmaya devam edecek, ancak tüm dosyalarınızı (kodun yanı sıra veriler) kümedeki tüm düğümlere hdfs vb. Aracılığıyla kolayca dağıtmak gibi şeyleri kaçıracaksınız.


6

Spark belgelerine göre, Spark Hadoop olmadan çalışabilir.

Herhangi bir kaynak yöneticisi olmadan Bağımsız mod olarak çalıştırabilirsiniz.

Ancak çok düğümlü kurulumda çalıştırmak istiyorsanız , YARN veya Mesos gibi bir kaynak yöneticisine ve HDFS, S3 vb. Gibi dağıtılmış bir dosya sistemine ihtiyacınız vardır.


3

Evet, Spark'ı Hadoop olmadan kurabilirsiniz. Bu biraz yanıltıcı olur S3'te veri depolama olarak yapılandırmak için parke kullanmak için arnon link'e başvurabilirsiniz. http://arnon.me/2015/08/spark-parquet-s3/

Spark yalnızca işlem yapar ve görevi gerçekleştirmek için dinamik bellek kullanır, ancak verileri depolamak için bazı veri depolama sistemine ihtiyacınız vardır. Burada hadoop, Spark ile birlikte rol alır, Spark için depolama sağlar. Hadoop'u Spark ile kullanmanın bir başka nedeni de açık kaynak olmaları ve her ikisinin de diğer veri depolama sistemlerine kıyasla birbirleriyle kolayca entegre olabilmesidir. S3 gibi diğer depolama için, yukarıdaki bağlantıda bahsedildiği gibi yapılandırmak zor olmalısınız.

Ancak Hadoop'un ayrıca Mapreduce adlı bir işleme birimi var.

İkisindeki farkı bilmek ister misiniz?

Bu makaleye göz atın: https://www.dezyre.com/article/hadoop-mapreduce-vs-apache-spark-who-wins-the-battle/83

Sanırım bu makale anlamanıza yardımcı olacak

  • ne kullanmalı

  • ne zaman kullanılmalı ve

  • nasıl kullanılır !!!


1

Evet tabi ki. Spark, bağımsız bir hesaplama çerçevesidir. Hadoop, MapReduce hesaplama çerçevesine sahip bir dağıtım depolama sistemidir (HDFS). Spark, HDFS'nin yanı sıra geleneksel veritabanı (JDBC), kafka ve hatta yerel disk gibi diğer herhangi bir veri kaynağından veri alabilir.



0

Evet, kıvılcım Hadoop olmadan koşabilir. Hadoop olmadan yerel makinenize kıvılcım takabilirsiniz. Ancak Spark lib, Haddop öncesi kitaplıklarla birlikte gelir, yani yerel makinenize kurulum sırasında kullanılır.


-5

Hayır. Çalışmaya başlamak için tam gelişmiş Hadoop kurulumu gerektirir - https://issues.apache.org/jira/browse/SPARK-10944


1
Bu yanlış, mevcut sürümlerde Hadoop olmadan sorunsuz çalışıyor.
Chris Chambers

1
@ChrisChambers Detaylandırmak ister misiniz? Bu sorunla ilgili yorumda "Aslında, Spark ne olursa olsun Hadoop sınıflarına ihtiyaç duyar" diyor ve indirmeler sayfasında yalnızca belirli bir Hadoop sürümü için önceden oluşturulmuş veya kullanıcı tarafından sağlanan Hadoop ile bir seçenek var. Ve dokümanlar "Spark, HDFS ve YARN için Hadoop istemci kitaplıklarını kullanır" diyor. ve bu bağımlılık isteğe bağlı görünmüyor.
NikoNyrh

1
@NikoNyrh doğru. "Kullanıcı tarafından sağlanan Hadoop" indirme yapısını çalıştırmayı denedim ve hemen bir yığın izleme aldım. Ayrıca Spark'ın sınıf yolunun çekirdek Hadoop sınıflarından ayrılmasını diliyorum. Ancak prototip oluşturma ve test etme amacıyla, indirme boyutundan (120 MB bir şey) başka bir sorun almadım. Oh iyi. Şerefe!
Jesús Zazueta

Söz konusu yığın izleme:$ ./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
Jesús Zazueta
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.