Welcome to Our Website

HPE Vývojka Komunitní Portál

Původní příspěvek informace:

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

V tomto blogu, dáme úvod do Apache Spark a jeho historie a prozkoumat některé z oblastí, v nichž jeho zvláštní soubor schopností ukázat většina slib. Budeme diskutovat o vztahu k jiným klíčovým technologiím a poskytnout některé užitečné ukazatele.

with Spark 2.,0 a novější verze byly implementovány velké vylepšení, aby se Spark snadněji programoval a prováděl rychleji.

co je Apache Spark?

Spark je univerzální distribuovaný motor pro zpracování dat, který je vhodný pro použití v širokém spektru okolností. Na vrcholu Spark core Data processing engine, existují knihovny pro SQL, strojové učení, graf výpočet, a zpracování proudu, které mohou být použity společně v aplikaci. Programovací jazyky podporované Spark patří: Java, Python, Scala, A R., Vývojáři aplikací a datoví vědci začlenit Spark do svých aplikací rychle dotazovat, analyzovat a transformovat data v měřítku. Úkoly, nejčastěji spojené s Spark patří ETL a SQL batch pracovních míst v celé velké sady dat, zpracování streamování dat ze senzorů, internetu Věcí, nebo finančních systémů, strojového učení a úkoly.

Historie

abychom pochopili, Jiskra, to pomáhá pochopit jeho historii., Před Spark, tam byl MapReduce, odolné distribuované zpracování rámec, který umožnil Google index explodující objem obsahu na webu, přes velké shluky komoditních serverů.

Tam byly 3 základní pojmy pro Google strategie:

  1. Distribuovat data: pokud datový soubor je nahrán do clusteru, je rozdělena do bloků, tzv. datových bloků, a distribuován mezi datové uzly a replikovány v celé clusteru.,
  2. Distribuovat výpočet: uživatelé zadat mapa funkce, která zpracovává klíč/hodnota pár, chcete-li vytvořit sadu intermediate klíč/hodnota páry a snížení funkce, která sloučí všechny mezilehlé hodnoty spojené se stejnou střední klíč. Programy napsané v tomto funkčním stylu jsou automaticky paralelizovat a popraven na velký cluster komoditních stroje následujícím způsobem:

    • mapovací proces probíhá na každé přiřazené datové uzlu, pracuje pouze na jeho blok dat ze souborů dfs.,
    • výsledky z mapování procesů jsou odesílány do redukce v procesu zvaném „shuffle a třídit“: klíč/hodnota páry z mappers jsou řazeny podle klíče, rozdělených podle počtu přechodky, a pak poslal přes síť a napsal na klíč řazeny „sekvence souborů“ na reduktoru uzlin.
    • proces reduktoru se provádí na přiřazeném uzlu a pracuje pouze na jeho podmnožině dat (jeho sekvenční soubor). Výstup z procesu reduktoru je zapsán do výstupního souboru.,
  3. Tolerovat chyby: oba údaje a výpočet může tolerovat selhání po selhání do jiného uzlu pro data nebo zpracování.

MapReduce počet slov provedení příklad:

Některé iterační algoritmy, jako je PageRank, který Google používá k hodnocení stránek v jejich výsledcích vyhledávání, vyžadují řetězení více MapReduce pracovních míst společně, což způsobuje spoustu čtení a psaní na disk., Při více MapReduce pracovních míst, jsou řetězem dohromady, pro každý MapReduce job, data načte ze souborů dfs blok do mapy procesu, zapisovat a číst z SequenceFile mezi, a pak zapsán do výstupního souboru z redukční proces.

rok poté, co Google zveřejnila bílou knihu popisující MapReduce framework (2004), Doug Řezání a Mike Cafarella vytvořil Apache Hadoop™.,

Apache Spark™ začal život v roce 2009 jako projekt v rámci Amplabu na Kalifornské univerzitě v Berkeley. Spark se stal v roce 2013 inkubovaným projektem softwarové nadace Apache a začátkem roku 2014 byl povýšen na jeden z projektů nejvyšší úrovně nadace. Jiskra je v současné době jedním z nejvíce aktivních projektů spravuje Nadace a společenství, která vyrostla kolem projektu zahrnuje jak plodný jednotlivých přispěvatelů a dobře financované korporátní sponzory, jako Databricks, IBM a Čínské Huawei.,

cílem Jiskra projektu bylo zachovat výhody MapReduce je škálovatelné, distribuované, odolný proti chybám rámec zpracování, a zároveň dělat to více efektivní a jednodušší použití. Výhody Spark over MapReduce jsou:

  • Spark provádí mnohem rychleji ukládáním dat do paměti v různých paralelních operacích, zatímco MapReduce zahrnuje více čtení a psaní z disku.
  • Spark běží vícevláknové úkoly uvnitř JVM procesů, zatímco MapReduce běží jako těžší JVM procesů., To dává jiskru rychlejší spuštění, lepší paralelismus, a lepší využití CPU.
  • Spark poskytuje bohatší funkční programovací model než MapReduce.
  • Spark je zvláště užitečný pro paralelní zpracování distribuovaných dat s iteračními algoritmy.

Jak Jiskra Aplikace Běží na Clusteru

obrázek níže ukazuje Jiskra aplikace běžící na clusteru.,

  • aplikace Spark běží jako nezávislé procesy koordinované objektem SparkSession v programu ovladače.
  • Správce zdrojů nebo clusteru přiřazuje úkoly pracovníkům, jeden úkol na oddíl.
  • úloha aplikuje svou jednotku práce na datový soubor ve svém oddílu a vydává nový datový soubor oddílů. Protože iterační algoritmy opakovaně aplikují operace na data, těží z ukládání dat do mezipaměti napříč iteracemi.,
  • výsledky jsou odeslány zpět do aplikace ovladače nebo mohou být uloženy na disk.,anager součástí Jiskra
  • Apache Mesos – obecný správce clusteru, který může také spustit Hadoop aplikace
  • Apache Hadoop YARN – resource manager v Hadoop 2
  • Kubernetes – open source systém pro automatizaci nasazení, škálování, a řízení kontejnerové aplikace

Spark má také místní režim, kde řidič a exekutory spustit jako závity na vašem počítači namísto clusteru, což je užitečné pro vývoj své aplikace z osobního počítače.,

co dělá Spark?

Spark je schopen zpracovávat několik petabajtů dat v čase, distribuovaný přes shluk tisíců spolupracující fyzické nebo virtuální servery. Má rozsáhlou sadu vývojářských knihoven a API a podporuje jazyky, jako je Java, Python, R a Scala; jeho flexibilita je vhodná pro celou řadu případů použití., Jiskra je často používán s distribuovaných úložišť dat, jako jsou HPE Ezmeral Dat Tkaniny, Hadoop HDFS, a Amazon S3, s populární NoSQL databází jako HPE Ezmeral Dat Tkaniny, Apache HBase, Apache Cassandra a MongoDB, a s distribuovaného zasílání zpráv obchodech jako HPE Ezmeral Dat, Tkaniny a Apache Kafka.

Typické případy použití jsou:

Stream zpracování: Od souborů protokolu do data snímačů, aplikace, vývojáři se stále více museli vypořádat s „proudy“ dat., Tato data přicházejí v ustáleném proudu, často z více zdrojů současně. I když je jistě možné tyto datové toky ukládat na disk a zpětně je analyzovat, může být někdy rozumné nebo důležité zpracovávat a jednat na datech tak, jak dorazí. Proudy dat týkající se finančních transakcí, například, mohou být zpracovány v reálném čase, identifikovat a odmítnout– potenciálně podvodných transakcí.

Strojové učení: Jak objemy dat rostou, strojové učení přístupy stala schůdnější a stále přesnější., Software může být vyškolen k identifikaci a působení na spouštěče v dobře pochopených datových sadách před použitím stejných řešení na nová a neznámá data. Schopnost Spark ukládat data do paměti a rychle spouštět opakované dotazy z něj činí dobrou volbu pro algoritmy strojového učení. Běží víceméně podobné dotazy, znovu a znovu, v měřítku, výrazně snižuje čas potřebný k projít soubor možných řešení s cílem najít nejefektivnější algoritmy.,

Interaktivní analytics: Spíše než běh pre-definovaných dotazů k vytvoření statické dashboardy pro prodejní nebo výrobní linky produktivity nebo ceny akcií, obchodní analytiky a datové vědci chtějí prozkoumat jejich údajů tím, že žádá otázku, zobrazení výsledku, a pak se buď změnil původní otázku mírně nebo vrtání hlouběji do výsledků. Tento interaktivní proces dotazu vyžaduje systémy, jako je Spark, které jsou schopny rychle reagovat a přizpůsobit se.,

integrace Dat: Data produkován různými systémy v podniku je zřídka čistá a konzistentní natolik, aby jednoduše a snadno kombinovat pro vykazování a analýzy. Extract, transform, and load (ETL) procesy jsou často používány vytáhnout data z různých systémů, vyčistit a standardizovat, a pak nahrát ji do samostatného systému pro analýzu. Spark (a Hadoop) se stále více používají ke snížení nákladů a času potřebného pro tento proces ETL.

kdo používá Spark?,

široká škála dodavatelů technologií byli rychle na podporu Jiskra, uznává příležitost rozšířit své stávající big data produktů do oblastí, kde Jiskry přináší skutečné hodnoty, jako jsou interaktivní dotazování a strojového učení. Dobře-známé společnosti jako IBM a Huawei investovaly značné částky do technologií, a rostoucí počet začínajících stavebních podniků, které závisí zcela nebo zčásti na Jiskru., Například, v roce 2013 Berkeley tým zodpovědný za vytváření Jiskra založena Databricks, který poskytuje hostované end-to-end data platformy poháněné Jiskra. Společnost je dobře financován, že obdržel $247 milionů na čtyřech kolech investic v roce 2013, 2014, 2016 a 2017, a Databricks zaměstnanci i nadále hrát významnou úlohu při zlepšování a rozšiřování open source kód z Apache Spark projektu.,

hlavní Hadoop dodavatelů, včetně MapR, Cloudera a Hortonworks, se všichni přestěhovali na podporu PŘÍZE na bázi Jiskra po boku svých stávajících produktů, a každý prodejce se snaží přidat hodnotu pro své zákazníky. Jinde, IBM, Huawei, a další mají všechny významné investice do Apache Spark, začlenění do svých vlastních výrobků a přispívá vylepšení a rozšíření zpět do projektu Apache., Web-based společnosti, jako je Čínský vyhledávač Baidu, e-commerce operace, Taobao, a sociální sítě společnosti Tencent, všichni běží Spark-založené operace v měřítku, s Tencent 800 milionů aktivních uživatelů údajně generování více než 700 TB dat denně pro zpracování v clusteru více než 8000 výpočetní uzly.

kromě těch, web-based giganti, farmaceutické společnosti Novartis závisí na Zapalovací snížit čas potřebný k dostat modelování dat do rukou vědců, a zároveň zajistit, aby etické a smluvní záruky, jsou zachovány.,

co odlišuje jiskru od sebe?

Existuje mnoho důvodů, proč si vybrat Jiskra, ale tyto tři jsou klíčové:

Jednoduchost: Jiskra funkce jsou přístupné přes sadu bohaté Api, všechny navrženy speciálně pro interakci rychle a snadno s údaji na stupnici. Tato rozhraní API jsou dobře zdokumentována a strukturována způsobem, který umožňuje vědcům dat a vývojářům aplikací rychle dát Spark do práce.

Rychlost: Spark je určen pro rychlost, pracující jak v paměti, tak na disku., Pomocí Spark, tým z Databricks svázaný pro první místo s týmem z University of California, San Diego, v roce 2014 Daytona GraySort benchmarking challenge (https://spark.apache.org/news/spark-wins-daytona-gray-sort-100tb-benchmark.html). Výzva se týká zpracování statické datové sady; Databricks tým byl schopen zpracovat 100 terabajtů dat uložených na solid-state disky za pouhých 23 minut, a předchozí vítěze trvalo 72 minut pomocí Hadoop a různé konfigurace clusteru. Spark může fungovat ještě lépe, když podporuje interaktivní dotazy dat uložených v paměti., V těchto situacích existují tvrzení, že Spark může být 100krát rychlejší než Hadoopův MapReduce.

Podpora: Spark podporuje řadu programovacích jazyků, včetně Java, Python, R, a Scala. Zapalovací zahrnuje podporu pro těsnou integraci s řadou špičkových řešení pro ukládání dat v Hadoop ekosystému a dále, včetně HPE Ezmeral Dat Tkaniny (souborový systém, databáze, a události, obchod), Apache Hadoop (HDFS), Apache HBase, a Apache Cassandra. Kromě toho je komunita Apache Spark velká, aktivní a mezinárodní., Rostoucí sada komerčních poskytovatelů, včetně Databricks, IBM a všech hlavních dodavatelů Hadoop, poskytuje komplexní podporu pro řešení založená na Spark.

výkon datových potrubí

velká část síly Spark spočívá v její schopnosti kombinovat velmi odlišné techniky a procesy dohromady do jediného koherentního celku. Mimo Spark mohou diskrétní úkoly výběru dat, transformace těchto dat různými způsoby a analýza transformovaných výsledků snadno vyžadovat řadu samostatných rámců zpracování, jako je Apache Oozie., Jiskra, na druhé straně nabízí možnost spojit to dohromady, překračování hranice mezi šarže, streaming a interaktivní pracovní postupy tak, aby uživatele více produktivní.

Spark jobs provádí více operací po sobě, v paměti, a pouze rozlití na disk, pokud to vyžaduje omezení paměti. Zapalovací zjednodušuje správu těchto různorodých procesů, které nabízí integrovaný celek – údaje potrubí, které je jednodušší na konfiguraci, jednodušší spustit, a snadněji se udržuje., V případech použití, jako jsou ETL, tato potrubí mohou se stát velmi bohatý a komplexní, kombinující velké množství vstupů a širokou škálu kroků zpracování do jednotného celku, která neustále přináší požadovaný výsledek.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *