Storytelling with Data
SPARK malumotlarini qayta ishlash asosan operatsiyalarin DAG (Directed Acyclic Graph) yaratish haqida.
Spark dasturlarida asosan dag yaratamiz.
Transformations and Actions
Transformations bitta dataframe ni boshqasiga ozgartirish uchun ishlatiladi va asl dataframe ozgarmaydi.
example: where() transformatsiyasi bunda u kirish df da ishlaydi va chiqish df yaratadi.
birinchi df ozgarishsiz qoladi.
shuning uchun spark da df ozgarishsiz qoladi.
endi Transformations ozi ham ikkiga bolinadi:
1.Narrow dependency transformation(Tor boglikdagi transformatsiya)
2.Wide dependency transformation(keng boglikdagi transformatsiya)
1.Narrow dependency transformation ->Agarda biz transformatsiyani alohida bolak yani partition ustida bajarilsa va natijaga tasir qilmasa bu Narrow dependency transformation hisoblanadi.
example: where() transformatsiyasi tor boglikdagi transformatsiya hisoblanadi.
2.Wide dependency transformation -> Agar transformatsiya boshqa bolaklardan malumotlarni talab qilsa, bu keng boglikdagi transformatsiya hisoblanadi.
example: groupBy() transformatsiyasi.
endi deylik hozir group nega bogliq mustaqil deb oyladingiz men ham birinchi marta shunaqa oylaganman 😁😁
keling misol koramiz:
Ikki df ni bolaklarga boldik va biz groupBy() transformatsiyasini qolladik va ichidagi yozuvlar sonini aniqladik.Spark nima qiladi har bir alohida bolakga groupBy() qiladi va yangi df yaratishi mumkin.
Ammo natijalar birlashganda nima boladi umumiylik yoqoladi va togri umumiy natija chiqmaydi.
Demak, groupBy() bolaklarning mustaqilligini buzadi.
shuning uchun ham groupBy() keng bogliqlikdagi transformatsiya hisoblanadi.
xop qanaqa qilamiz unda desak:
REPARTITIONING orqali tuzatish mumkin.
Yani barcha bolaklarni birlashtirib, malum guruhlarning barcha yozuvlarini bir xil bolakka joylashtiramiz.
Bu Jarayon esa Shuffle va sort operatsiyalari deyiladi.
keyin esa biz count() orqali sanab qoyamiz.boldi!
342 ·