1
Vývoj / Re:Agregace velkého množství streamovaných dat
« kdy: 29. 09. 2021, 19:00:05 »Ještě sry za resuscitaci - téma mě zajímá, protože o něm dohromady nic nevím...
Format (zjednoduseny) je takovyto, realna jedna zprava ma cca 1.5kB dat.Kód: [Vybrat]{
"metric": "metric1",
"metadata": {
"nodeid": "node1",
"cardid": "card1",
"portid": "port1",
"lvidid": "lvid1"
// "metadata atributů" je víc, množina je stabilní
},
"counters": {
"MP_TOTAL_TRANS_AUDIO_SESSIONS": 0,
"MP_PEAK_TRANS_VIDEO_SESSIONS": 0,
// "čítačových proměnných" je mnoho, množina je stabilní pro danou metriku
}
}
Spark vypadá, že má v zásadě "ROLAPový" interní metamodel.
Chápu, že umí brát data z předávacího formátu JSON.
Výše načrtnutá struktura není takto sešněrována obecným JSONem. Řekněme, že se tady jedná o JSON s nějakým "dodatečným schématem" (pravidly). Tzn. ten již zmíněný "polymorfismus" není vlastností JSONu, ale specialitou předloženého zadání. A mám pocit, že moc nesedí ani na "relační paradigma" - dá se na něj naroubovat na bázi velkého počtu pojmenovaných sloupců, které budou mít v mnoha případech prázdné hodnoty...
Protože Spark neznám, připadá mi, že polymorfní zadání na relační přístup moc nepasuje :-)
Nevidim kde tu je problem ... ved ako to taha z Kafky, tak si na to mozes napisat uplne hocijaky map a reducer
https://spark.apache.org/docs/latest/streaming-programming-guide.html#transformations-on-dstreams
Tak by si mal jednu dalsiu classu ktora by bola usita namieru tomu co potrebujes a ako tie data taha tak si to reducenes ..
https://spark.apache.org/docs/latest/streaming-programming-guide.html#window-operations checkni "reduceBy*" methody.
Proste ako tie data prichadzaju, tak len vzdy updatenes a reducenes to.