2014-06-09 29 views
270

Apache Spark ve Apache Storm arasındaki farklar nelerdir? Her biri için uygun kullanım örnekleri nelerdir?Apache Spark vs. Apache Storm

+10

keşfetti. Storm, hareket halindeki verileri desteklerken, Spark, dinlenme sırasında verileri destekliyor. Başka? – anhldbk

+4

Bu bağlantıyı iyi özetliyor https://dzone.com/articles/streaming-big-data-storm-spark –

cevap

421

Apache Spark, öncelikli olarak toplu analiz işlerini hızlandırmak, yinelemeli makine öğrenimi işleri, etkileşimli sorgulama ve grafik işlemeyi hedefleyen, bellekte dağıtılmış bir veri analizi platformudur.

Spark'in temel ayrımlarından biri RDD'lerin veya Esnek Dağıtılmış Veri Kümelerinin kullanılmasıdır. RDD'ler, hesaplama için paralel operatörleri pipeline etmek için harikadır ve tanım olarak, değişmezdir, bu da Spark'a, soy bilgisine dayanan benzersiz bir hata toleransı biçimine izin verir. Örneğin, bir Hadoop MapReduce işini daha hızlı bir şekilde yürütmek istiyorsanız Spark mükemmel bir seçenektir (bellek gereksinimleri göz önünde bulundurulmalıdır).

Apache Storm, akış işlemeye veya bazılarının karmaşık olay işleme yöntemini çağırmaya odaklanır. Fırtına, bir sisteme akarken bir olay üzerinde bir hesaplama yapmak veya birden çok hesaplamayı pipeline etmek için hataya dayanıklı bir yöntem uygular. Birisi, yapılandırılmamış verileri bir sisteme istenen formatta akarken dönüştürmek için Storm'u kullanabilir.

Fırtına ve Kıvılcım, oldukça farklı kullanım durumlarına odaklanmıştır. Daha fazla "elmaya elmalar" karşılaştırması Storm Trident ve Spark Streaming arasında olacaktır. Spark'in RDD'leri doğal olarak değişmez olduğundan, Spark Streaming, kullanıcı tanımlı zaman aralıklarında kendi RDD'lerine dönüştürülen gelen güncellemeleri "gruplamak" için bir yöntem uygular. Spark'in paralel operatörleri daha sonra bu RDD'lerde hesaplamalar yapabilir. Bu, her bir etkinlikle ayrı ayrı ilgilenen Storm'dan farklıdır.

Bu iki teknoloji arasındaki en önemli fark Spark'in Data-Parallel computations gerçekleştirirken, Storm Task-Parallel computations gerçekleştirir. Her iki tasarım da bilmeye değer tradeofflar yapar. Bu bağlantıları kontrol etmenizi öneririm.

Düzenleme: gerçek zamanlı işlenmesi için ikisi de desteği: bugün this mc110 @

+4

İyi bir açıklama.Gelmiş makale iyidir http://xinhstechblog.blogspot.in/2014/06/storm-vs -spark-streaming-side-by-side.html – minhas23

+0

Bağlantı benim için yanıt vermiyor. İşte google cache: http://webcache.googleusercontent.com/search?q=cache:yl9B_lZ5u9EJ:xinhstechblog.blogspot.com/2014/06/storm-vs-spark-streaming-side-by-side.html+ & cd = 1 & hl = ru & ct = clnk & gl = ru – asdfasdfads

+0

Mükemmel yan yana karşılaştırma bağlantısı. Scala devs'e not: Spark, Scala'da uygulandığında, Fırtına Kapanış'ta uygulandı. –