Kompyuter injiniring” fakulteti Kompyuter Injiniringi yo‘nalishi 612. 19 – guruh talabasi Omaddiyor Umarov


Download 101.36 Kb.
bet2/12
Sana17.06.2023
Hajmi101.36 Kb.
#1527212
1   2   3   4   5   6   7   8   9   ...   12
Bog'liq
2 nd Assignment ( 7 - 12 )

Sinovli ishga tushirish
MapReduce vazifasi tugallandi kod bilan bog'liq har qanday aniq muammolarni darhol aniqlash uchun uni kichik ma'lumotlar to'plamida sinab ko'rishga arziydi. Birinchidan, Hadoop -ni o'rnating oflayn. Ushbu Hadoop rejimida mahalliy fayl ¬tizimi va mahalliy ishni bajarish tizimi bilan ishlaydi. Kitob veb-saytidagi ko'rsatmalarga muvofiq misollarni o'rnating va tuzing.
Keling, vazifamizni yuqoridagi besh qatorli to'plamda sinab ko'raylik (natija sahifa kengligiga mos ravishda formatlangan):



Nazorat savollari:
1. Strukturaviy kabel tizimining maqsadi nima?
2. Kabel tizimlari qanday sinflarga bo'linadi?
3. 10BaseT nima ?
4. 10 Base 2 texnologiyasida qanday kabel ishlatiladi ?
5. 10 Base 5 texnologiyasida qanday kabel ishlatiladi ?
6. Tarmoqdagi ma'lumotlarni uzatish uchun qanday turdagi kabellardan foydalaniladi?
AMALIY MASHG‘ULOT - 8


Mavzu: Taqsimlangan MapReduce ishini bajarish


Ishning maqsadi: o'rganish API ta'minoti MapReduce uchun xaritalash va qisqartirish funksiyalarini Javadan boshqa tillarda yozishga imkon beradi.

Xuddi shu dastur ma'lumotlarning to'liq to'plamida hech qanday o'zgarishsiz ishlaydi ¬. MapReduce aynan shu uchun mo'ljallangan : u ma'lumotlar va apparat vositalari bilan o'lchaydi. Yuqori protsessorli 10 tugunli EC 2 klasterida Qo'shimcha katta Misol dasturni bajarish uchun olti daqiqa vaqt ketdi


Hadoop Streaming
Hadoop API taqdim etadi MapReduce uchun xaritalash va qisqartirish funksiyalarini Javadan boshqa tillarda yozishga imkon beradi . Hadoop texnologiyasi Oqim ¬_ standart Unix oqimidan foydalanadi Hadoop shovqinini tashkil qilish uchun dasturlari bilan, shuning uchun MapReduce dasturlarini yozishda standart kirishdan o'qishni ( standart kirish) va standart chiqishga (standart chiqish) yozishni qo'llab-quvvatlaydigan har qanday tildan foydalanishingiz mumkin . ¬Yig'ish funksiyasi standart kirishdan (ramka kafolati kalit bo'yicha tartiblangan) satrlarni o'qiydi va natijalarini standart chiqishga yozadi.
Hadoop qanday ishlashini ko'rsatish uchun Streaming , biz MapReduce dasturimizni qayta yozamiz maksimal haroratni topish uchun.
Ruby
Ruby tilida xaritalash funksiyasining namunali bajarilishi 2.8 ro'yxatda keltirilgan .

STDIN dan har bir satr uchun dastur blokini bajarib, standart kirish satrlari bo'ylab o'tadi . ( IO tipidagi global konstanta ). Blok har bir kirish satridan kerakli maydonlarni chiqaradi va agar harorat to'g'ri bo'lsa, ¬yil va haroratni \ t bilan ajratilgan holda standart chiqishga yozadi ( puts funktsiyasidan foydalangan holda ).
Streaming o'rtasidagi muhim me'moriy farqni ta'kidlash kerak va Java MapReduce _ API . Java API xaritalash funktsiyasi orqali yozuvlarni ketma-ket qayta ishlashga qaratilgan . ¬Ramka Mapper ilovangizning map ( ) usulini chaqiradi. Kirish to'plamidagi har bir yozuv uchun, Oqimdan foydalanganda kirishni qanday qayta ishlashni displey dasturining o'zi hal qiladi - masalan, u bir vaqtning o'zida bir nechta satrlarni osongina o'qiy oladi va qayta ishlaydi, chunki o'qish jarayoni uning nazorati ostida. Java -da moslashtirilgan xaritalashni amalga oshirish yozuvlarni ketma-ket olib keladi, lekin u ¬Mapper misol oʻzgaruvchisida oldingi qatorlarni toʻplash orqali bir vaqtning oʻzida bir nechta yozuvlarni qayta ishlashi mumkin . Bunday holda, siz oxirgi yozuv o'qilganligini bilishingiz va ¬oxirgi qatorlar guruhini qayta ishlashni tugatishingiz uchun yopish () usulini qo'llashingiz kerak.
Hadoop dan foydalanmasdan osongina sinab ko'rish mumkin:

Dastur shuningdek, standart kiritishdan satrlar bo'ylab takrorlanadi, lekin bu safar biz har bir tugmalar guruhini qayta ishlash jarayonida holat ma'lumotlarini saqlashimiz kerak . Bizning misolimizda kalitlar yillardir, biz oxirgi topilgan kalitni va ushbu kalit uchun topilgan maksimal haroratni saqlaymiz. MapReduce ramkasi kalitlarga buyurtma berishni kafolatlaydi; shuning uchun, agar kalit oldingisidan farq qilsa, bu biz yangi kalitlar guruhiga o'tganimizni anglatadi. Java -dan farqli o'laroq Streamingdan foydalanganda har bir kalit guruhi uchun iterator taqdim etilgan API guruh chegaralari dasturda belgilanishi kerak.
Har bir satr uchun kalit va qiymat olinadi. Agar guruh endigina ¬tugagan bo'lsa (last_key && last_key != key), biz yangi kalit uchun maksimal haroratni tiklashdan oldin, biz kalitni va ¬guruhdagi maksimal haroratni yorliqlar bilan ajratamiz. Agar guruh hali tugallanmagan bo'lsa, dastur faqat joriy kalit uchun maksimal haroratni yangilaydi.
Klasterda katta hajmdagi ma'lumotlar to'plami bilan ishlaganda -combiner variantidan foydalanish kerak birlashtirish funktsiyasini aniqlash.
1.x dan keyingi versiyalarda birlashtirish funktsiyasi har qanday Streaming buyrug'i bo'lishi mumkin . Avvalgi nashrlarda birlashtirish funksiyasi Java -da yozilishi kerak edi , shuning uchun amalda tez-tez ishlatiladigan vaqtinchalik yechim Java -dan foydalanmasdan xaritalash funktsiyasida qo'lda birlashtirish edi . Bizning holatda, displey funktsiyasi quvur liniyasi bilan almashtirilishi mumkin.

Download 101.36 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   12




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling