Ohjelmointi

Viisi asiaa, jotka sinun on tiedettävä Hadoop v. Apache Sparkista

Kuuntele mitä tahansa keskustelua suurista tiedoista, ja kuulet todennäköisesti maininnan Hadoopista tai Apache Sparkista. Tässä on lyhyt katsaus siihen, mitä he tekevät ja miten he vertailevat.

1: He tekevät erilaisia ​​asioita. Hadoop ja Apache Spark ovat molemmat isotietokehykset, mutta ne eivät todellakaan palvele samoja tarkoituksia. Hadoop on pohjimmiltaan hajautettu tietoinfrastruktuuri: Se jakaa massiivisia tietokokoelmia useille solmuille hyödykepalvelinten klusterissa, mikä tarkoittaa, että sinun ei tarvitse ostaa ja ylläpitää kalliita mukautettuja laitteistoja. Se myös indeksoi ja seuraa tietoja, mikä mahdollistaa suurten tietojen käsittelyn ja analyysin paljon tehokkaammin kuin aiemmin oli mahdollista. Spark on toisaalta tietojenkäsittelytyökalu, joka toimii näissä hajautetuissa tietokokoelmissa; se ei tee hajautettua tallennustilaa.

2: Voit käyttää yhtä ilman toista. Hadoop sisältää paitsi tallennuskomponentin, joka tunnetaan nimellä Hadoop Distributed File System, myös MapReduce-nimisen käsittelykomponentin, joten sinun ei tarvitse Sparkia suorittamaan käsittely. Päinvastoin, voit käyttää Sparkia myös ilman Hadoopia. Sparkilla ei kuitenkaan ole omaa tiedostojen hallintajärjestelmää, joten se on integroitava yhteen - ellei HDFS: ään, sitten toiseen pilvipohjaiseen tietojärjestelmään. Spark on suunniteltu Hadoopille, mutta niin monet ovat yhtä mieltä siitä, että he ovat parempia yhdessä.

3: Spark on nopeampi. Spark on yleensä paljon nopeampi kuin MapReduce, koska se käsittelee tietoja. Kun MapReduce toimii vaiheittain, Spark toimii koko tietojoukolla yhdellä iskulla. "MapReduce-työnkulku näyttää tältä: lue tietoja klusterista, suorita toiminto, kirjoita tulokset klusterille, lue päivitetyt tiedot klusterista, suorita seuraava toimenpide, kirjoita seuraavat tulokset klusterille jne.", Kertoi Kirk Borne, päätietotieteilijä Booz Allen Hamiltonissa. Spark puolestaan ​​suorittaa täydelliset data-analyysitoiminnot muistiin ja lähes reaaliajassa: "Lue tiedot klusterista, suorita kaikki tarvittavat analyyttiset operaatiot, kirjoita tulokset klusterille, tehty", Borne sanoi. Spark voi olla jopa 10 kertaa nopeampi kuin MapReduce eräkäsittelyssä ja jopa 100 kertaa nopeampi muistin sisäisessä analyysissä, hän sanoi.

4: Et ehkä tarvitse Sparkin nopeutta. MapReducen käsittelytyyli voi olla hieno, jos tietotoimintasi ja raportointivaatimuksesi ovat enimmäkseen staattisia ja voit odottaa eräajotietokäsittelyä. Mutta jos sinun on analysoitava tietojen suoratoistoa, kuten tehdasalueen antureita, tai jos sinulla on sovelluksia, jotka vaativat useita toimintoja, haluat todennäköisesti mennä Sparkin kanssa. Esimerkiksi useimmat koneoppimisalgoritmit vaativat useita toimintoja. Sparkin yleisiä sovelluksia ovat reaaliaikaiset markkinointikampanjat, online-tuotesuositukset, kyberturvallisuusanalytiikka ja konelokien seuranta.

5: Epäonnistuminen: erilainen, mutta silti hyvä. Hadoop on luonnollisesti joustava järjestelmävioille tai -vioille, koska tiedot kirjoitetaan levylle jokaisen toiminnon jälkeen, mutta Sparkilla on samanlainen sisäänrakennettu joustavuus sen vuoksi, että sen dataobjektit on tallennettu ns. "Nämä dataobjektit voidaan tallentaa muistiin tai levyille, ja RDD tarjoaa täydellisen vian tai vikojen palautumisen", Borne huomautti.

$config[zx-auto] not found$config[zx-overlay] not found