Spark Streamování Komplexní průvodce pro streamování jisker

Obsah:

Anonim

Úvod do Spark Streamingu

Apache Spark Streaming je jednou z hlavních podstatných součástí Apache Spark, což je zpracování datového nástroje v reálném čase, které se používá pro streamování dat v reálném čase, na rozdíl od tradičních dávkových úloh Hadoop, které byly místo toho použity pro spouštění dávkových úloh. streamování dat v reálném čase. Využívá schopnosti rychlého plánování jádra Spark k provádění rychlé analytiky streamování jisker, která v podstatě zahrnuje přijímání dat ve formě mikro a malých dávek k provedení transformací RDD na těchto sadách dat v určité periodě okna. Streamování Apache Spark je určeno ke spotřebě z mnoha upstreamu, čímž se dokončí potrubí, jako jsou například Apache Kafka, Flume, RabbitMQ, ZeroMQ, Kinesis, sokety TCP / IP, Twitter atd. Strukturované datové sady, které jsou k dispozici ve Spark 2. Verze x + se používají pro strukturované streamování.

Jak funguje Spark Streaming?

  • V případě Spark Streamingu jsou datové toky rozděleny do pevných šarží, také nazývaných jako DStreams, což je interně sekvence pevného typu počtu RDD. RDD jsou proto zpracovány pomocí Spark API a vrácené výsledky jsou tedy v dávkách. Disketizované tokové operace, které jsou buď stavové nebo bezstavové transformace, sestávají také s nimi výstupní operace, operace vstupu DStream a také přijímače. Tyto proudy jsou základní úrovní abstrakce poskytované streamováním Apache Spark, což je nepřetržitý proud RDD Spark.
  • Poskytuje také možnosti odolnosti vůči chybám, které mají být použity pro Dstreams, velmi podobné RDD, pokud je k dispozici kopie dat, a proto může být jakýkoli stav připsán zpět nebo přiveden zpět do původního stavu pomocí grafu Sparkovy linie na sada RDD. Zde je třeba uvažovat o tom, že toky Dstreams se používají k překladu základních operací na jejich základní sadě RDD. Tyto transformace založené na RDD jsou prováděny a počítány pomocí Spark Engine. Operace Dstream se používají k poskytování základní úrovně podrobností a dávají vývojáři vysokou úroveň API pro vývojové účely.

Výhody Spark Streamování

Existují různé důvody, proč je použití streamování Spark další výhodou. Některé z nich probereme v našem příspěvku zde.

  1. Sjednocení datového toku Stream, Batch a Interactive: Datové sady lze snadno integrovat a použít s jakýmkoli pracovním zatížením, které nebylo nikdy snadné v kontinuálních systémech provádět, a proto slouží jako jeden motor.
  2. Pokročilá úroveň analytiky spolu se strojovým učením a dotazy SQL: Když pracujete na složitých pracovních vytíženích, vždy vyžaduje použití nepřetržitého učení a také s aktualizovanými datovými modely. Nejlepší součástí této komponenty Spark je to, že se snadno integruje s MLibem nebo jakoukoli jinou vyhrazenou knihovnou strojového učení.
  3. Rychlé selhání a také zotavení pro straggler: Obnova po selhání a odolnost proti chybám je jednou ze základních funkcí, které jsou k dispozici ve Spark Streamingu.
  4. Vyrovnávání zátěže: Úzká místa jsou často způsobena mezi systémy kvůli nerovnoměrnému zatížení a vyvážení, které jsou prováděny, a proto je zcela nezbytné vyrovnat zátěž rovnoměrně, která je automaticky řešena touto součástí Spark.
  5. Výkon: Díky své výpočetní technice v paměti, která využívá vnitřní paměť více než externí pevný disk, je výkon Spark ve srovnání s jinými systémy Hadoop velmi dobrý a efektivní.

Spark Streaming Operations

1) Transformační operace na Spark Streamování: Stejným způsobem jsou data transformována ze sady RDD i zde jsou data transformována z DStreamů a nabízí mnoho transformací, které jsou k dispozici na běžných Spark RDD. Někteří z nich jsou:

  • Mapa (): Používá se pro vrácení nové formy Dstream, když je každý prvek předán funkcí.
    Například data.map (line => (line, line.count))
  • flatMap (): Tento je podobný mapě, ale každá položka je mapována na 0 nebo více mapovaných jednotek.
    Příklad data.flatMap (lines => lines.split (”“))
  • filter (): Tento se používá k vrácení nové sady Dstream vrácením záznamů, které jsou filtrovány pro naše použití.
    Příklad, filtr (hodnota => hodnota == ”jiskra”)
  • Union (): Používá se k vrácení nové sady Dstream, která sestává z dat kombinovaných ze vstupních toků Dstreams a dalších toků Dstreams.
    Příklad, Dstream1.union (Dstream2) .union (Dstream3)

2) Aktualizujte stav pomocí klíčové operace

To vám umožní udržovat libovolný stav, i když je neustále aktualizován novou informací. Byli byste požádáni, abyste definovali stav, který může být libovolného typu, a definovali funkci aktualizace stavu, což znamená určení stavu pomocí předchozího stavu a také použití nových hodnot ze vstupního proudu. V každé dávkové soustavě použije jiskra stejnou funkci aktualizace stavu pro všechny převládající klíče.

Příklad:

funkce aktualizace def (NV, RC):

pokud RC není:

RC = 0

vrácená suma (NV, RC) #Nv jsou nové hodnoty a RC běží počet

Závěr

Streamování jisker je jedním z nejúčinnějších systémů pro vybudování potrubí typu skutečného streamingu, a proto se používá k překonání všech problémů, s nimiž se setkávají tradiční systémy a metody. Proto všichni vývojáři, kteří se učí proniknout do komponenty pro streamování jisker, šli na nejvhodnější jediný bod rámce, který lze použít ke splnění všech vývojových potřeb. Můžeme tedy bezpečně říci, že jeho použití zvyšuje produktivitu a výkonnost v projektech a společnostech, které se snaží využít ekosystém velkých dat nebo se na něj těší. Doufám, že se vám náš článek líbil. Sledujte další články, jako jsou tyto.

Doporučené články

Toto je průvodce Spark Streamingem. Zde diskutujeme úvod do Spark Streamingu, jak to funguje spolu s výhodami a příklady. Můžete si také prohlédnout naše další související články -

  1. Co je to Hadoop Streaming?
  2. Příkazy jisker
  3. Výuky o tom, jak nainstalovat Spark
  4. Rozdíl mezi Hadoopem a Sparkem
  5. Spark DataFrame | Výhody
  6. Prvních 6 komponent jisker