Storytelling with Data
RDD – bu Resilient Distributed Dataset degan ma’noni anglatadi.
RDD – bu oddiygina ma’lumotlar to‘plami.
Bu malumotlarni saqlash va qayta ishlash uchun malum bir tuzilma.
RDD DataFrame ga o‘xshaydi,
chunki DataFrame ham RDD ustida qurilgan.
Biroq, RDD va DataFrame o‘rtasidagi asosiy farq:
1.RDD – oddiy obyektlar to‘plami (strukturaga ega emas)
2.DataFrame – qator/ustun tuzilmasi va sxemaga ega
qisqaroq qilib, RDD – bu Scala, Java yoki Python kolleksiyalariga juda o‘xshash.
Ammo RDD ichki jihatdan partitsiyalarga ajratiladi va parallel ishlash uchun executor yadro (core) lariga tarqatiladi.
RDD ning Asosiy Xususiyatlari:
Taqsimlangan (Distributed) ->
• RDD partitsiyalarga bo‘linadi
• Executor yadrolari orasida tarqatiladi
• Shu sababli, RDD parallel ishlaydi
Qayta tiklanadigan (Resilient) ->
• RDD lar xatolarga bardoshli
• Har bir RDD qayta tiklash uchun metama’lumotlarni saqlaydi
• Agar executor ishdan chiqsa, boshqa executor xuddi shu RDD partitsiyasini qayta yaratib, bajarishni davom ettiradi
RDD API larining Cheklovlari
1. RDD lar qolda boshqarilishi kerak
• Ma’lumotlar strukturasi yo‘q
• Qolda optimallashtirish kerak
• Ma’lumotlarni qo‘lda siqish va tezlashtirish kerak
2.Spark RDD’ning ichki tuzilishini tushunmaydi
• RDD faqatgina oddiy obyektlar jamlanmasi
• Catalyst Optimizer bu obyektlarning tuzilmasini bilmaydi
• Spark optimallashtirish imkoniyatlarini yo‘qotadi
3. DataFrame API lari RDD larni to‘liq almashtiradi
• DataFrame API lar avtomatik optimallashtirilgan
• SQL funksiyalari bilan ishlash mumkin
• RDD API’larga nisbatan ancha qulay
439 ·