Apache Spark med Hadoop - Varför det spelar roll?



Implementeringen av Apache Spark med Hadoop i stor skala av toppföretag indikerar framgång och dess potential när det gäller realtidsbehandling.

Hadoop, databehandlingsramverket som har blivit en plattform för sig själv, blir ännu bättre när bra komponenter är anslutna till det. Vissa brister i Hadoop, som MapReduce-komponenten i Hadoop, har rykte om att vara långsamma för dataanalys i realtid.





Ange Apache Spark, en Hadoop-baserad databehandlingsmotor utformad för både batch- och streaming-arbetsbelastningar, nu i sin 1.0-version och utrustad med funktioner som exemplifierar vilka typer av arbete Hadoop pressas att inkludera. Spark körs ovanpå befintliga Hadoop-kluster för att ge förbättrad och ytterligare funktionalitet.

Låt oss titta på gnistens viktigaste funktioner och hur det fungerar tillsammans med Hadoop och .



Apache Spark viktiga fördelar:

img2-R

Sparks fantastiska funktioner:

  • Hadoop-integration - Spark kan fungera med filer lagrade i HDFS.
  • Sparks interaktiva skal - Spark är skrivet i Scala och har sin egen version av Scala-tolk.
  • Sparks Analytic Suite - Spark levereras med verktyg för interaktiv frågeanalys, storskalig grafbehandling och analys och realtidsanalys.
  • Fjädrande distribuerade datamängder (RDD) - RDD är distribuerade objekt som kan cachas i minnet, över ett kluster av beräkningsnoder. De är de primära dataobjekten som används i Spark.
  • Distribuerade operatörer - Förutom MapReduce finns det många andra operatörer man kan använda på RDD.

Fördelar med att använda Apache Spark med Hadoop:

ruby on rails webbapplikation
  • Apache Spark passar in i Hadoop open source-community, bygger på toppen av Hadoop Distributed File System (HDFS). Spark är dock inte bunden till MapReduce-paradigmet i två steg och lovar prestanda upp till 100 gånger snabbare än Hadoop MapReduce för vissa applikationer.



  • Passar bra för maskininlärningsalgoritmer - Spark tillhandahåller primitiv för datorer i minneskluster som tillåter användarprogram att ladda in data i ett kluster minne och fråga dem upprepade gånger.

  • Kör 100 gånger snabbare - Spark, analysprogramvara kan också påskynda jobb som körs på Hadoops databehandlingsplattform. Apache Spark kallas 'Hadoop Swiss Army kniv' och ger möjlighet att skapa dataanalysjobb som kan köras 100 gånger snabbare än de som körs på standard Apache Hadoop MapReduce. MapReduce har kritiserats allmänt som en flaskhals i Hadoop-kluster eftersom den utför jobb i batch-läge, vilket innebär att realtidsanalys av data inte är möjlig.

  • Alternativ till MapReduce - Spark ger ett alternativ till MapReduce. Det utför jobb i korta skurar av mikrobatcher som är minst fem sekunder ifrån varandra. Det ger också mer stabilitet än stream-orienterade Hadoop-ramar i realtid som Twitter Storm. Programvaran kan användas för en mängd olika jobb, till exempel en pågående analys av levande data och tack vare ett mjukvarubibliotek, mer beräkningsmässigt djupgående jobb som involverar maskininlärning och grafbehandling.

  • Stöd för flera språk - Med hjälp av Spark kan utvecklare skriva dataanalysjobb i Java, Scala eller Python, med en uppsättning av mer än 80 operatörer på hög nivå.

  • Biblioteksstöd - Sparks bibliotek är utformade för att komplettera de typer av bearbetningsjobb som utforskas mer aggressivt med de senaste kommersiellt stödda distributionerna av Hadoop. MLlib implementerar en rad vanliga algoritmer för maskininlärning, såsom naiv Bayesian-klassificering eller klustring Spark Streaming möjliggör snabb bearbetning av data som tas från flera källor och GraphX ​​möjliggör beräkningar av grafdata.

  • Stabilt API - Med version 1.0 erbjuder Apache Spark ett stabilt API (applikationsprogrammeringsgränssnitt), som utvecklare kan använda för att interagera med Spark genom sina egna applikationer. Detta hjälper till att använda Storm lättare i Hadoop-baserad distribution.

    vad är tostringmetoden i java
  • SPARK SQL-komponent - Spark SQL-komponent för åtkomst till strukturerad data, gör att data kan förhöras tillsammans med ostrukturerad data i analysarbete. Spark SQL, som bara är i alfa för tillfället, gör att SQL-liknande frågor kan köras mot data som lagras i Apache Hive. Att extrahera data från Hadoop via SQL-frågor är ännu en variant av realtidsfrågefunktionaliteten som växer fram runt Hadoop.

  • Apache Spark-kompatibilitet med Hadoop [HDFS, HBASE och YARN] - Apache Spark är fullt kompatibelt med Hadoop's Distributed File System (HDFS), liksom med andra Hadoop-komponenter som YARN (Yet Another Resource Negotiator) och den HBase-distribuerade databasen.

Branschanpassare:

IT-företag som Cloudera, Pivotal, IBM, Intel och MapR har alla viks Spark i sina Hadoop-stackar. Databricks, ett företag grundat av några av utvecklarna av Spark, erbjuder kommersiellt stöd för programvaran. Både Yahoo och NASA, bland andra, använder programvaran för daglig datahantering.

Slutsats:

Vad Spark har att erbjuda kommer säkert att vara ett stort drag för både användare och kommersiella leverantörer av Hadoop. Användare som vill implementera Hadoop och som redan har byggt många av sina analyssystem runt Hadoop lockas av idén att kunna använda Hadoop som ett realtidsbehandlingssystem.

Spark 1.0 ger dem en annan mängd funktioner för att stödja eller bygga egna objekt runt. Faktum är att en av de tre stora Hadoop-leverantörerna, Cloudera, redan har tillhandahållit kommersiellt stöd för Spark via sitt Cloudera Enterprise-erbjudande. Hortonworks har också erbjudit Spark som en del av sin Hadoop-distribution. Implementeringen av Spark i stor skala av toppföretag indikerar dess framgång och dess potential när det gäller bearbetning i realtid.

Har du en fråga till oss? Nämn dem i kommentarfältet så återkommer vi till dig.

Relaterade inlägg:

vad är en röding i java