Apache Spark vs Apache Storm
A valós idejű adatfolyam iránti igény a valós idejű adatok növekedése miatt exponenciálisan növekszik. Mivel a streaming technológiák vezetik a Big Data világát, a felhasználók számára nehéz lehet a megfelelő valós idejű streaming platform kiválasztása. A két legnépszerűbb valós idejű technológia, amelyek választását megfontolhatnák, az Apache Spark és az Apache Storm.
A Spark és a Storm keretrendszerek közötti egyik fő kulcsfontosságú különbség az, hogy a Spark adatpárhuzamos számításokat végez, míg a Storm feladatpárhuzamos számításokat foglal el
Apache Spark
Apache Spark egy általános célú, világító gyors, fürtszámítási technológiai keretrendszer, amelyet a nagyméretű adatfeldolgozás gyors számításaira használnak. Mind kötegelt, mind valós idejű analitikai és adatfeldolgozási munkaterhelések kezelésére alkalmas.
Apache Storm
Apache Storm egy nyílt forráskódú, skálázható, hibatűrő és valós idejű folyamfeldolgozó számítási rendszer. Ez egy keretrendszer valós idejű elosztott adatfeldolgozáshoz, amely a folyamfeldolgozásra vagy eseményfeldolgozásra összpontosít. Bármilyen programozási nyelvvel használható, és bármilyen sorbanállási vagy adatbázis-technológiával integrálható.
Különbségek a Spark és a Storm között
- Feldolgozási modell: Apache Spark kötegelt feldolgozást biztosít, míg a Storm mikrokötegelt feldolgozást
- Programozási nyelv:
- Patakforrások: Az Apache spark kevesebb nyelvet támogat, mint például a Java, Scala, míg a Storm másrészt több nyelvet támogat, mint például a Scala, Java, Clojure.
- Patakforrások: Az Apache spark kevesebb nyelvet támogat, mint például a Java, Scala, Scala: Az Apache HDFS-t használ, míg az Apache Storm a spoutot.
- Üzenetküldés: Az Apache apark Akka-t, Netty-t használ, míg az Apache storm ZeroMQ-t, Netty-t
- Erőforrás-kezelés: Az Apache spark esetében Yarn és Meson, míg az Apache storm esetében Yarn és Mesos a felelős.
- Késleltetés: Az Apache Sparkhoz képest magasabb késleltetés, míg az Apache storm jobb alacsony késleltetést biztosít kisebb korlátozásokkal
- Stream Primitives: Az Apache Spark DStream-et használ, míg az Apache Storm Tuple-t, Partíciót
- Fejlesztési költség:
- Perzisztencia: Apache spark per RDD-t használ, míg az Apache storm MapState
- Hibatűrés: Ez lehet YARN, Mesos vagy a saját önálló menedzsere, míg az Apache stormban, ha a folyamat meghibásodik, a felügyelő folyamat automatikusan újraindítja, mivel az állapotkezelést a zookeeper kezeli
- Provisioning: Az Apache spark támogatja az alapvető felügyeletet a Ganglia segítségével, míg az Apache storm az Apache Ambarit
- használja:
- Állapotkezelés: Az Apache spark 100k rekordot szolgál ki csomópontonként másodpercenként, míg az Apache storm 10k rekordot szolgál ki csomópontonként másodpercenként
- Állapotkezelés: Az állapot módosítása és fenntartása az Apache Sparkban az UpdateStateByKey segítségével frissíthető, de a külső rendszerben nem alkalmazható pluggable stratégia az állapot megvalósítására. Míg a Storm nem biztosít semmilyen keretrendszert a közbeeső csavar kimenet állapotként való tárolására. Ezért minden alkalmazásnak magának kell létrehoznia egy állapotot, amikor csak szükséges.
- Speciális:
Az Apache Storm és az Apache Spark nagyszerű megoldások, amelyek megoldják a streaming bevitel és átalakítás problémáját.
Bővebben… http://entradasoft.com/blogs/apache-spark-vs-apache-storm
Az Apache Storm és az Apache Spark remek megoldások, amelyek megoldják a streaming bevitel és átalakítás problémáját.