Axborot texnologiyalari va kommunikatsiyalarni
Download 0.51 Mb.
|
2-deadline Abduxakim
- Bu sahifa navigatsiya:
- Nazorat savollari
- AMALIY MASHG‘ULOT - 8 Mavzu: Taqsimlangan MapReduce ishini bajarish
- Hadoop Streaming
- (last_key last_key != key)
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 0.51 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling