Apache Spark on sen arkkitehtoninen säätiön joustava jaettu aineisto (RDD), vain luku-multiset tietoja jaetaan koko klusterin koneet,, joka on voimassa vikasietoinen tavalla. Dataframe API julkaistiin abstraktiona RDD: n päälle, ja sitä seurasi Dataset API. Spark 1: Ssä.x, RDD oli ensisijainen sovellus ohjelmointirajapinta (API), mutta kuten Spark 2.X dataset API: n käyttöä kannustetaan, vaikka RDD API: ta ei ole poistettu. RDD-teknologia on edelleen Dataset API: n pohjana.,
Kipinä ja sen RDDs kehitettiin vuonna 2012 vastauksena rajoituksia MapReduce klusterin computing paradigma, joka pakottaa tiettyyn lineaarinen datakulun rakennetta jaetaan ohjelmat: MapReduce ohjelmia, lukea input-tiedot levyltä, kartta-toiminto eri tiedot, vähentää tulosten kartta, ja tallentaa vähentäminen tuloksia levylle. Sparkin RDDs toimii hajautettujen ohjelmien työparina, joka tarjoaa (tarkoituksella) rajoitettua hajautetun jaetun muistin muotoa.,
Kipinä helpottaa täytäntöönpanoa molemmat iteratiivisia algoritmeja, joka käy heidän data set useita kertoja, silmukka, ja interaktiivinen/eksploratiivinen data-analyysi, eli toistuva tietokanta-tyyliä hakiessa tietoja. Tällaisten sovellusten latenssia voidaan vähentää useilla suuruusluokilla verrattuna Apache Hadoop MapReduce-toteutukseen.Yksi luokka iteratiivisia algoritmeja ovat koulutus algoritmeja kone oppimisen järjestelmiä, jotka muodostivat alkuperäisen sysäyksen kehittää Apache Spark.
Apache Spark vaatii klusteripäällikön ja hajautetun varastointijärjestelmän., Klusterin hallinta, Kipinä tukee itsenäinen (native Kipinä klusterin, jossa voit käynnistää klusterin joko manuaalisesti tai käyttää käynnistää skriptejä esittänyt asentaa paketin. On myös mahdollista ajaa nämä demonit yhden koneen testaus), Hadoop LANKA, Apache Mesos tai Kubernetes. Hajautetun varastoinnin, Spark voi käyttöliittymä monenlaisia, kuten Alluxio, Hadoop hajautettu tiedostojärjestelmä (HDFS), MapR tiedostojärjestelmä (MapR-FS), Cassandra, OpenStack Swift, Amazon S3, Kudu, Lustre tiedostojärjestelmä, tai mukautetun ratkaisun voidaan toteuttaa., Kipinä tukee myös pseudo-jakautunut paikallinen tila, yleensä käyttää vain kehittämistä tai testausta varten, jossa jaetaan varastointi ei tarvita ja paikallisen tiedostojärjestelmän sijasta voidaan käyttää; tällaisessa tilanteessa, Kipinä on ajaa yhdellä koneella, jossa on yksi toimeenpanija per CPU ydin.
Kipinä CoreEdit
Spark Core on perusta koko hankkeen. Se tarjoaa jaetaan tehtävä, resursointi, aikataulutus, ja perus-I/O-toimintoja, altistuvat kautta application programming interface (Java, Python, Scala, .,NET ja R) keskittyy RDD-abstraktio (Java API on käytettävissä muut JVM-kielet, mutta on myös käyttökelpoinen joitakin muita ei-JVM-kielet, joka voi muodostaa yhteyden JVM, kuten Julia). Tämä liitäntä peilit toiminnallinen ja/tai korkeamman kertaluvun malli ohjelmointi: ”kuljettaja” ohjelma vetoaa rinnakkaisia toimintoja, kuten kartta, suodatin tai vähentää siitä RDD-kulkee toiminto Kipinä, joka sitten aikataulut toiminnon suorittamisen samanaikaisesti klusterin. Nämä toiminnot ja muut, kuten liittymiset, ottavat maaseudun kehittämisohjelmat panokseksi ja tuottavat uusia maaseudun kehittämisohjelmia., RDDs ovat muuttumattomia ja niiden toiminta on laiska; vika-toleranssi saavutetaan pitämällä kirjaa ”lineage” jokaisen RDD (toimintojen sarjan, joka tuotti sitä) niin, että se voidaan rekonstruoida tapauksessa tietojen menetyksen. RDDs voi sisältää minkä tahansa tyyppisiä Python -,. Net -, Java-tai Scala-objekteja.
Lisäksi RDD-suuntautunut toiminnallinen tyyli ohjelmointi, Kipinä tarjoaa kaksi rajoitettu muotoja jaettu muuttujat: broadcast muuttujat viite vain lukea tietoa, joka on saatavilla kaikki solmut, kun taas akut voidaan käyttää ohjelman vähennykset välttämätöntä tyyli.,
tyypillinen esimerkki RDD-centric funktionaalinen ohjelmointi on seuraavat Scala-ohjelma, joka laskee taajuudet kaikki sanat esiintyvät joukko teksti-tiedostoja ja tulostaa yleisimpiä. Jokainen kartta, flatMap (variantti kartta) ja reduceByKey vie nimetön toiminto, joka suorittaa yksinkertainen toimenpide yhdellä tietoja kohteen (tai pari kappaletta), ja sitä sovelletaan sen argumentti muuttaa RDD uuteen RDD.,
Kipinä SQLEdit
Spark SQL on komponentti päälle Spark Core, joka esitteli data-abstraktio nimeltä DataFrames, joka tarjoaa tukea jäsennelty ja semi-strukturoituja tietoja. Spark SQL tarjoaa domain-specific language (DSL) manipuloida DataFrames, Scala, Java, Python tai .NET. Se tarjoaa myös SQL-kielen tuki, ja komentorivin käyttöliittymät ja ODBC/JDBC-palvelin. Vaikka DataFrames puuttuu käännettäessä tyyppi tarkkailun tarjoamia RDDs, kuten Kipinä 2.0, vahvasti kirjoitettu Aineisto tukee täysin Spark SQL samoin.,
Kipinä StreamingEdit
Spark Streaming käyttää Spark Core on nopea aikataulutus valmiudet suorittaa streaming analytics. Se kerää tietoja Mini-erissä ja suorittaa RDD-muunnoksia kyseisissä Mini-erissä. Tämä muotoilu mahdollistaa sen, että samoja sovellus kirjoitettu koodi erän analytics voidaan käyttää streaming analytics, mikä helpottaa helppo käyttöönotto lambda arkkitehtuuri. Kuitenkin tämä mukavuus tulee rangaistus latenssi sama mini-erän kesto., Muita streaming-tiedot moottoreille, että prosessi, tapahtuma, tapahtuman sijasta mini-eriä ovat Myrsky ja streaming osa Flink. Spark Streaming on tuki sisäänrakennettu kuluttaa Kafka, Flume, Twitter, ZeroMQ, Kinesis, ja TCP/IP pistorasiat.
in Spark 2.x erillinen tekniikka perustuu Aineistot, nimeltään Strukturoitu Streaming, joka on ylemmän tason käyttöliittymä on myös tukea streaming.
Kipinä voidaan ottaa käyttöön perinteinen paikallinen konesalin sekä pilvipalvelut.,
MLlib koneoppimisen LibraryEdit
Kipinä MLlib on jaettu kone-oppimisen puitteissa päälle Spark Core, joka johtuu suurelta osin jaettu muisti-pohjainen Kipinä arkkitehtuuri, on peräti yhdeksän kertaa niin nopeasti kuin levy-pohjainen toteutus käyttää Apache Mahout (mukaan vertailuarvojen tehnyt MLlib kehittäjät vastaan vuorotellen pienimmän neliösumman (ALS) – toteutuksissa, ja ennen Mahout itse sai Kipinän interface), ja skaalautuu paremmin kuin Vowpal Jänis.,, Kaltevuus-Kasvatti Puun
GraphXEdit
GraphX on distributed graph-käsittely puitteet päälle Apache Spark., Koska se perustuu RDDs, jotka ovat muuttumattomia, kuvaajat ovat muuttumattomia ja siten GraphX ei sovellu kaavioita, jotka täytyy päivittää, saati kaupallisen tavalla kuin kuvaaja tietokantaan. GraphX tarjoaa kaksi erillistä Api täytäntöönpanoa massiivisesti rinnakkaisia algoritmeja (kuten PageRank): a Pregel abstraktio, ja yleisesti MapReduce-tyylinen API. Toisin kuin edeltäjänsä Leivos, joka oli virallisesti vanhentunut Kipinä 1.6, GraphX on täysi tuki omaisuutta kuvaajat (kuvaajat, joissa ominaisuuksia voidaan kiinnittää reunat ja kärjet).,
GraphX voidaan katsoa olevan Kipinä-muistin versio Apache Giraph, joka käyttää Hadoop levy-pohjainen MapReduce.
Kuten Apache Spark, GraphX aluksi alkoi tutkimushanke Berkeleyn on AMPLab ja Databricks, ja oli myöhemmin lahjoitettiin Apache Software Foundation ja Kipinä-projekti.
Leave a Reply