20. A Big Data adatfeldolgozási (Apache Spark) Flashcards
c. Ismertesse az Apache Spark jellemzőit (célja, felépítése, alap építőkövei, adat kezelése)!
Spark:
* Nyílt forráskódú
adatokat –> memóriába töltő és feldolgozó rendszer
Cél: Valós időben képes tárolni & feldolgozni
* Spark mind 3 adatfeldolgozást támogatja (batch,realtime,stream)
* Scala nyelven írták –> támogatja Java,Python,R nyelveket
* Kb 10-100x gyorsabb > HDFS Mapreduce-nál
Felépítés:
RDD (Resident Distributed Datasets) Rugalmasan elosztott adathalmaz (adatszerkezete)
RDD adatok gyűjteménye
2 db alapművelet
Transform (map,filter,join,union) –> Új RDD-t hoz létre eredménnyel
Action (reduce, first, count) –> értéket add vissza számítás után
Alapépítő kövek:
-Spark Core
Spark alapja, erre épül az összes funkció
RDD-k építő elemei
Feladata: menedzselés –>(végrehajtás, ütemezés, memória kezelés stb)
-Spark SQL
Struktúrált & Félig struktúrált adatokat is kezel
SQL lekérdezéseket használ –> adatokat dataframe-ekké alakítja –> egységes formára hozza adatokat
Dataframe< - >RDD (lehet létrehozni belőle)
-Spark Streaming
Streaming feldolgozásra alkalmas –> mind3 feldolgozás lehetséges
Hibatűrő módon feldolgoz –> gyorsan helyre áll hiba esetén
-Spark MLib
Gépi algoritmusok függvény gyűjteménye (Machine Learning)
-GraphX
Gráfok tárolására szolgál –> adatstruktúra gyűjtemény
d. Mit nevezünk lazy evaluationnek és hogyan jelenik ez meg az Apache Sparkon belül?
Lazy evaluation/ lusta kiértékelés –> Nem történik végrehajtás (execution) amíg egy művelet (action) nem hajtódik végre
Transformation –> action –> execution
f. Milyen betöltési stratégiákat és eszközöket használ az Apache Spark, és milyen forrásokat lehet hozzá csatlakoztatni?
Streaming (félig struktúrált adatok: Kafka, Parquet, Flume)
Static (struktúrált adatok: MongoDB, HBase)