Statiskas pārvērtības ar dzīšanu dzirksteļu straumēšanā



Šajā emuāra ziņā tiek pārrunātas valstiskas izmaiņas ar dzirkstošo straumēšanu. Uzziniet visu par datu izsekošanu partijās, izmantojot valsts līmeņa D-straumes.

Piedalās Prithviraj Bose

Šajā emuārā mēs apspriedīsim Apache Spark valstisko pārveidojumu liktenīgo koncepciju.





Kas ir valstiska pārveidošana?

Spark straumēšana izmanto mikro pakešu arhitektūru, kur ienākošie dati tiek sagrupēti mikro partijās, ko sauc par Discretized Stream (DStreams), kas kalpo arī kā pamata programmēšanas abstrakcija. DStream iekšēji ir elastīgas izplatītas datu kopas (RDD), un šī standarta rezultātā var veikt pārveidojumus un darbības.



Straumējot, ja mums ir izmantošanas gadījums, lai izsekotu datus partijās, mums ir nepieciešami valsts līmeņa DStreams.

Piemēram, mēs varam izsekot lietotāja mijiedarbību vietnē lietotāja sesijas laikā vai arī izsekot noteiktu twitter hashtag laiku un redzēt, kuri lietotāji visā pasaulē par to runā.

Valsts pilnīgas transformācijas veidi.



Valsts līmeņa DStream ir divu veidu - izsekošana uz loga un pilnas sesijas izsekošana.

Statiskai izsekošanai visi ienākošie dati jāpārveido par atslēgu un vērtību pāriem tā, lai galvenos stāvokļus varētu izsekot dažādās partijās. Tas ir priekšnoteikums.

kā skenēt char ar java

Turklāt mums vajadzētu arī iespējot kontrolpunktu noteikšanu, ko mēs apspriedīsim turpmākajos emuāros.

> Uz logiem balstīta izsekošana

Logā balstītā izsekošanā ienākošās partijas tiek sagrupētas laika intervālos, t.i., grupēt grupas ik pēc ‘x’ sekundēm. Turpmāk šīs partijas aprēķina, izmantojot slaidu intervālus.

Piemēram, ja loga intervāls = 3 sekundes un slaidu intervāls = 2 sekundes, tad visi ienākošie dati tiks grupēti grupās ik pēc 3 sekundēm, un šo partiju aprēķini notiks ik pēc 2 sekundēm. Alternatīvi mēs varam teikt, veiciet aprēķinus ik pēc 2 sekundēm partijām, kas saņemtas pēdējās 3 sekundēs.

spark-streaming-dstream-window

Iepriekš redzamajā diagrammā mēs redzam, ka ienākošās partijas tiek sagrupētas ik pēc 3 laika vienībām (loga intervāls) un aprēķini tiek veikti ik pēc 2 laika vienībām (slaidu intervāls).
Piezīme. Atšķirībā no Apache Flink, Apache Spark nav loga jēdziena, visi logi ir slīdoši.

UGUNS

Populāra API logu transformācijām ir

PairDStreamFunctions.reduceByKeyAndWindow .

Šai API ir vairākas pārslogotas versijas. Apskatīsim to, kurai ir visvairāk parametru. Pēc šī skaidrojuma pārējām pārslogotajām šīs API versijām jābūt pašsaprotamām.

Atgriež: pārveidotā DStream [(K, V)]

reducFunc : Asociatīvā samazināšanas funkcija.

invReduceFunc : Iepriekšminētās samazināšanas funkcijas apgrieztā vērtība. Tas ir nepieciešams, lai efektīvi aprēķinātu ienākošās un izejošās partijas. Ar šīs funkcijas palīdzību izejošo partiju vērtību atskaita no iepriekš minētās samazināšanas funkcijas uzkrātās vērtības. Piemēram, ja mēs aprēķinām ienākošo vērtību summu attiecīgajām atslēgām, tad izejošajām partijām mēs atņemsim attiecīgo atslēgu vērtības (ar nosacījumu, ka tās atrodas pašreizējā paketē, ignorē).

loga ilgums : Partiju grupēšanas laika vienības, tai jābūt partijas intervāla reizinājumam.

slideDuration : Aprēķināšanas laika vienības, tam jābūt partijas intervāla reizinājumam. starpsienas : Sadalītājs, kas jāizmanto iegūtā DStream glabāšanai. Plašāku informāciju par sadalīšanu lasiet šo .

filterFunc : Funkcija, lai filtrētu atslēgas un vērtību pāri, kuru derīguma termiņš ir beidzies, t.i., piemēram, ja mēs kādu laiku nesaņemam atslēgas atjauninājumu, iespējams, vēlēsimies to noņemt.

Lūk, a programmu saskaitīt vārdus, kas nāk no kontaktligzdas straumes. Mēs esam izmantojuši pārslodzes iepriekš minētās funkcijas versiju ar loga intervālu 4 sekundes un slaidu intervālu 2 sekundes.

Nākamajā emuārā es rakstīšu par pilnu sesiju izsekošanu un kontrolpunktu noteikšanu.

Vai mums ir jautājums? Lūdzu, pieminējiet to komentāru sadaļā, un mēs ar jums sazināsimies.

Saistītās ziņas:

Izplatītā kešatmiņa ar apraides mainīgajiem