An'anaviy RDBM (Relational Database Model) kabi yaxshi emas
Matn uchun samarali emas qidirish va qayta ishlash
Katta ma'lumotlar uchun oddiy dasturlash
Hadoop ekotizimining oddiy dasturlash paradigmasi
An'anaviy parallel dasturlash turli xil hisoblash/tizim tushunchalari bo'yicha tajribani talab qiladi
Misollar : ko'p oqimlar, sinxronizatsiya mexanizmlari (qulflar, semaforlar va monitorlar)
noto'g'ri foydalanish: dasturni buzishi, noto'g'ri natijalarga erishishi yoki ishlashga jiddiy ta'sir qilishi mumkin
Odatda apparatdagi nosozliklarga toqat qilmaydi
MapReduce dasturlash modeli parallel ravishda ishlaydigan kodni ancha soddalashtiradi
Google MR qog'ozi asosida (2004)
Xaritani qisqartirish paradigmasi
Funktsiyani qo'llash xaritasi:
Ro'yxatning barcha elementlariga funktsiyani qo'llash
list1=[1,2,3,4,5];
kvadrat x = x * x
list2=Xarita kvadrati(roʻyxat1)
chop ro'yxati 2
-> [1,4,9,16,25]
|
kamaytirish:
Xulosa qilish uchun ro'yxatning barcha elementlarini birlashtiring
list1 = [1,2,3,4,5];
A = qisqartirish (+) ro'yxat1
Chop etish A
-> 15
|
Map va Reduce funktsional dasturlashga asoslangan
Kiritish
Chiqish
Xarita
Kamaytirish
MapReduce so'zlarni hisoblash misoli
tugun
Xarita
fayl
A
B
C
D
tugun
Xarita
A
tugun
Xarita
tugun
Xarita
B
C
D
tugun
Kamaytirish
tugun
Kamaytirish
F
tugun
Kamaytirish
tugun
Kamaytirish
E
G
H
Aralash
&
Saralash
Men S _
Sem men
(I,1)
(am, 1)
(Sam, 1)
(I,1)
(am, 1)
(Sam, 1)
(I,2)
(am, 2)
(Sam, 2)
(…,..)
(..,..)
………
………
Do'stlaringiz bilan baham: |