Welcome to Our Website

HPE Producător Portal Comunitate

Original post informații:

"authorDisplayName": "Carol McDonald","publish": "2018-10-17T08:00:00.000Z","tags": "spark"

În acest post pe blog, noi vă va oferi o introducere la Apache Spark și istoria sa și de a explora unele dintre domeniile în care își anumit set de capabilități show-cea mai mare promisiune. Vom discuta despre relația cu alte tehnologii cheie și vom oferi câteva indicii utile.

cu scânteie 2.,0 și versiunile ulterioare, îmbunătățiri mari au fost implementate pentru a face Spark mai ușor de programat și executat mai repede.

ce este Apache Spark?

Spark este un motor de prelucrare a datelor distribuit de uz general, care este potrivit pentru utilizarea într-o gamă largă de circumstanțe. Pe lângă motorul de procesare a datelor Spark core, există biblioteci pentru SQL, învățare automată, calcul Grafic și procesare în flux, care pot fi utilizate împreună într-o aplicație. Limbajele de programare acceptate de Spark includ: Java, Python, Scala și R., Dezvoltatorii de aplicații și experții în date încorporează Spark în aplicațiile lor pentru a interoga, analiza și transforma rapid datele la scară largă. Sarcinile asociate cel mai frecvent cu Spark includ sarcini de lot ETL și SQL în seturi mari de date, procesarea datelor de streaming de la senzori, IoT sau sisteme financiare și sarcini de învățare automată.

Istorie

În scopul de a înțelege Scânteie, ajută să înțelegem istoria sa., Înainte de Spark, a existat MapReduce, un cadru de procesare distribuit rezistent, care a permis Google să indexeze volumul exploziv de conținut pe web, pe grupuri mari de servere de mărfuri.

erau 3 concepte de bază la Google strategie:

  1. Distribui date: atunci când un fișier de date este încărcat în cluster, este împărțit în bucăți, numite blocuri de date, și distribuite printre noduri de date și reproduse în cluster.,
  2. Distribui calcul: utilizatorii specifica o funcție de hartă care procesează o cheie/valoare pereche pentru a genera un set de intermediar perechi cheie/valoare și de a reduce funcția care îmbină toate valorile intermediare asociate cu același intermediar cheie. Programele scrise în acest stil funcțional sunt automat paralelizate și executat pe un grup mai mare de mărfuri mașini în felul următor:

    • procesul De cartografiere ruleaza pe fiecare atribuit nod de date, lucru numai pe bloc de date dintr-un fișier distribuite.,
    • rezultatele la cartografierea proceselor sunt trimise la reductoare într-un proces numit „shuffle și un fel”: perechi cheie/valoare de cartografi sunt clasificate în funcție de cheie, împărțit la numărul de reductoare, și apoi trimis în rețea și în scris la cheie sortate „secvență de fișiere” pe reductor de noduri.
    • procesul reductorului se execută pe nodul atribuit și funcționează numai pe subsetul său de date (fișierul său de secvență). Ieșirea din procesul reductorului este scrisă într-un fișier de ieșire.,
  3. tolereaza defectiunile: atat datele cat si calculul pot tolera defectiunile prin lipsa unui alt nod pentru date sau procesare.

MapReduce word count executarea exemplu:

Unele iterativ algoritmi, cum ar fi PageRank, care Google folosit pentru a clasifica site-uri web în rezultatele motorului de căutare, necesită înlănțuirea mai multe MapReduce locuri de munca împreună, care provoacă o mulțime de citire și scriere pe disc., Când mai multe locuri de muncă MapReduce sunt înlănțuite împreună, pentru fiecare lucrare MapReduce, datele sunt citite dintr-un bloc de fișiere distribuit într-un proces de hartă, scrise și citite dintr-un fișier SequenceFile între ele și apoi scrise într-un fișier de ieșire dintr-un proces reductor.

Un an după ce Google a publicat o carte albă care să descrie cadru MapReduce (2004), Doug Tăiere și Mike Keeler creat Apache Hadoop™.,

Apache Spark™ a început viața în 2009, ca un proiect în cadrul AMPLab de la Universitatea din California, Berkeley. Spark a devenit un proiect incubat al Apache Software Foundation în 2013 și a fost promovat la începutul anului 2014 pentru a deveni unul dintre proiectele de nivel superior ale Fundației. Spark este în prezent unul dintre cele mai active proiecte gestionate de fundație, iar comunitatea care a crescut în jurul proiectului include atât contribuitori individuali prolifici, cât și susținători corporativi bine finanțați, cum ar fi Databricks, IBM și Huawei din China.,

scopul proiectului Spark a fost acela de a menține beneficiile cadrului de procesare scalabil, distribuit, tolerant la erori al MapReduce, făcându-l mai eficient și mai ușor de utilizat. Avantajele Scânteie peste MapReduce sunt:

  • Scânteie execută mult mai repede de cache de date în memorie pe mai multe paralele operațiuni, întrucât MapReduce implică mai mult de scriere și citire de pe disc.
  • Spark execută sarcini multi-threaded în interiorul proceselor JVM, în timp ce MapReduce rulează ca procese JVM cu greutate mai mare., Acest lucru oferă pornire mai rapidă Spark, paralelism mai bun și o utilizare mai bună a procesorului.
  • Spark oferă un model de programare funcțională mai bogată decât MapReduce.
  • Spark este util în special pentru prelucrarea paralelă a datelor distribuite cu algoritmi iterativi.

cum rulează o aplicație Spark pe un Cluster

diagrama de mai jos arată o aplicație Spark care rulează pe un cluster.,

  • o aplicație Spark rulează ca procese independente, coordonate de obiectul SparkSession din programul driver.
  • managerul de resurse sau cluster atribuie sarcini lucrătorilor, o sarcină pe partiție.
  • o sarcină aplică unitatea sa de lucru la setul de date din partiția sa și emite un nou set de date de partiție. Deoarece algoritmii iterativi aplică operații în mod repetat datelor, aceștia beneficiază de stocarea în cache a seturilor de date pe iterații.,
  • rezultatele sunt trimise înapoi la aplicația driver sau pot fi salvate pe disc.,anager inclus cu Scânteie
  • Apache Mesos – un cluster manager general, care poate rula, de asemenea, Hadoop aplicații
  • Apache Hadoop FIRE – manager de resurse în Hadoop 2
  • Kubernetes – un sistem open source pentru automatizarea implementare, scalare, și de gestionare a containerizate aplicații

Scanteie are, de asemenea, un modul local, în cazul în care conducătorul auto și executorii rula la fel de fire de pe computer în loc de un cluster, care este util pentru dezvoltarea de aplicații de pe un computer personal.,

ce face Spark?

Spark este capabil de manipulare mai multe petabytes de date la un moment dat, distribuite într-un grup de mii de servere fizice sau virtuale cooperante. Are un set extins de biblioteci și API-uri pentru dezvoltatori și acceptă limbi precum Java, Python, R și Scala; flexibilitatea sa îl face potrivit pentru o serie de cazuri de utilizare., Spark este adesea folosit cu date distribuite magazine, cum ar fi HP Ezmeral Date Tesatura, Hadoop este HDFS, și Amazon S3, cu populare baze de date NoSQL, cum ar fi HP Ezmeral Date Tesatura, Apache HBase, Apache Cassandra, și MongoDB, și cu distribuite de magazine de mesagerie, cum ar fi HP Ezmeral Date de Material și Apache Kafka.

Tipic cazuri de utilizare includ:

Flux de prelucrare: De la fișierele jurnal pentru a senzorului de date, dezvoltatorii de aplicații, din ce în ce mai au de-a face cu „fluxuri” de date., Aceste date ajung într-un flux constant, adesea din mai multe surse simultan. Deși este cu siguranță posibil să stocați aceste fluxuri de date pe disc și să le analizați retrospectiv, uneori poate fi sensibil sau important să procesați și să acționați asupra datelor pe măsură ce acestea sosesc. Fluxurile de date legate de tranzacțiile financiare, de exemplu, pot fi prelucrate în timp real pentru a identifica și refuza tranzacțiile potențial frauduloase.

învățare automată: pe măsură ce volumele de date cresc, abordările de învățare automată devin mai fezabile și din ce în ce mai precise., Software-ul poate fi instruit să identifice și să acționeze asupra declanșatorilor din seturile de date bine înțelese înainte de a aplica aceleași soluții la date noi și necunoscute. Capacitatea Spark de a stoca date în memorie și de a rula rapid interogări repetate o face o alegere bună pentru instruirea algoritmilor de învățare a mașinilor. Rularea interogărilor în general similare din nou și din nou, la scară, reduce semnificativ timpul necesar pentru a trece printr-un set de soluții posibile pentru a găsi cei mai eficienți algoritmi.,

Interactive analytics: mai degrabă decât să ruleze interogări predefinite pentru a crea tablouri de bord statice ale productivității liniei de vânzări sau de producție sau ale prețurilor acțiunilor, analiștii de afaceri și oamenii de știință de date doresc să exploreze datele lor punând o întrebare, vizualizând rezultatul și apoi fie modificând ușor întrebarea inițială, Acest proces interactiv de interogare necesită sisteme precum Spark care sunt capabile să răspundă și să se adapteze rapid.,

integrarea datelor: Datele produse de diferite sisteme dintr-o afacere sunt rareori suficient de curate sau coerente pentru a fi combinate simplu și ușor pentru raportare sau analiză. Procesele de extragere, transformare și încărcare (ETL) sunt adesea folosite pentru a extrage date din diferite sisteme, pentru a le curăța și standardiza, apoi pentru a le încărca într-un sistem separat pentru analiză. Spark (și Hadoop) sunt din ce în ce mai utilizate pentru a reduce costurile și timpul necesar pentru acest proces ETL.

cine folosește Spark?,

O gamă largă de furnizori de tehnologie au fost rapid pentru a sprijini Scânteie, recunoscând posibilitatea să-și extindă existente date de mare de produse în zone unde Spark oferă o valoare reală, cum ar fi interactive interogarea și de învățare mașină. Companii cunoscute, cum ar fi IBM și Huawei, au investit sume semnificative în tehnologie, iar un număr tot mai mare de startup-uri construiesc afaceri care depind integral sau parțial de Spark., De exemplu, în 2013, echipa Berkeley responsabilă de crearea Spark a fondat Databricks, care oferă o platformă de date găzduită end-to-end alimentată de Spark. Compania este bine finanțate, după ce a primit $247 de milioane în patru runde de investiții în 2013, 2014, 2016 și 2017, și Databricks angajații continuă să joace un rol important în îmbunătățirea și extinderea codul open source Apache Spark proiect.,

Cea mai mare Hadoop furnizori, inclusiv MapR, Cloudera, și Hortonworks, au tot mutat pentru a sprijini FIRE pe bază de Scânteie, alături de produsele lor existente, și fiecare furnizor este de lucru pentru a adăuga valoare pentru clienții săi. În altă parte, IBM, Huawei și alții au făcut investiții semnificative în Apache Spark, integrându-l în propriile produse și contribuind la îmbunătățiri și extensii înapoi la proiectul Apache., Companiile bazate pe Web, cum ar fi motorul de căutare chinez Baidu, operațiunea de comerț electronic Taobao și compania de rețele sociale Tencent, toate rulează operațiuni bazate pe scânteie la scară, cu 800 de milioane de utilizatori activi ai Tencent generând peste 700 TB de date pe zi pentru procesare pe un grup de peste 8.000 de noduri de calcul.

în plus față de acei giganți web, Compania farmaceutică Novartis depinde de Spark pentru a reduce timpul necesar pentru a obține date de modelare în mâinile cercetătorilor, asigurându-se în același timp că garanțiile etice și contractuale sunt menținute.,

ce diferențiază Spark?

Există multe motive pentru a alege Scânteie, dar următoarele trei sunt esențiale:

Simplitate: Spark capacitățile sunt accesibile prin intermediul unui set bogat de Api-uri, toate concepute special pentru a interacționa rapid și ușor cu date la scară largă. Aceste API-uri sunt bine documentate și structurate într-un mod care face simplu pentru oamenii de știință de date și dezvoltatorii de aplicații să pună rapid Spark să funcționeze.

Speed: Spark este proiectat pentru viteză, funcționând atât în memorie, cât și pe disc., Folosind Scânteie, o echipa de la Databricks legat de primul loc, cu o echipa de la Universitatea din California, San Diego, în 2014 Daytona GraySort benchmarking provocare (https://spark.apache.org/news/spark-wins-daytona-gray-sort-100tb-benchmark.html). Provocarea implică procesarea unui set de date statice; echipa Databricks a reușit să proceseze 100 de terabytes de date stocate pe unități SSD în doar 23 de minute, iar câștigătorul anterior a luat 72 de minute folosind Hadoop și o configurație diferită a clusterului. Spark poate funcționa și mai bine atunci când acceptă interogări interactive ale datelor stocate în memorie., În aceste situații, există afirmații că Spark poate fi de 100 de ori mai rapid decât MapReduce lui Hadoop.

suport: Spark acceptă o serie de limbaje de programare, inclusiv Java, Python, R și Scala. Spark include suport pentru integrarea strânsă cu o serie de lider de soluții de stocare în ecosistemul Hadoop și dincolo, inclusiv HP Ezmeral Date Tesatura (sistem de fișiere, baze de date, și evenimente magazin), Apache Hadoop (HDFS), Apache HBase, și Apache Cassandra. În plus, comunitatea Apache Spark este mare, activă și internațională., Un set tot mai mare de furnizori comerciali, inclusiv Databricks, IBM și toți principalii furnizori Hadoop, oferă suport complet pentru soluții bazate pe scânteie.

puterea conductelor de date

o mare parte din puterea Spark constă în capacitatea sa de a combina tehnici și procese foarte diferite împreună într-un singur întreg coerent. În afara Spark, sarcinile discrete de selectare a datelor, transformarea acestor date în diferite moduri și analizarea rezultatelor transformate ar putea necesita cu ușurință o serie de cadre de procesare separate, cum ar fi Apache Oozie., Spark, pe de altă parte, oferă posibilitatea de a le combina împreună, trecând granițele dintre lot, streaming și fluxuri de lucru interactive în moduri care fac utilizatorul mai productiv.

Spark jobs efectuează mai multe operații consecutiv, în memorie, și numai deversând pe disc atunci când este necesar de limitări de memorie. Spark simplifică gestionarea acestor procese disparate, oferind un întreg integrat – o conductă de date care este mai ușor de configurat, mai ușor de rulat și mai ușor de întreținut., În cazuri de utilizare, cum ar fi ETL, aceste conducte pot deveni extrem de bogate și complexe, combinând un număr mare de intrări și o gamă largă de etape de procesare într-un întreg unificat care oferă în mod constant rezultatul dorit.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *