Ma’lumotlar kommunikatsiyasi” fanidan tayyorlagan amaliy mashg‘ulot ishlari topshirdi: M. A. Akbarova Qabul qildi: O. I. Ergashev Farg‘ona 023 amaliy mashg‘ulot mavzu: Java-da MapReduce dasturi Ishning maqsadi: Displey funksiyasi


Download 0.51 Mb.
bet1/11
Sana17.06.2023
Hajmi0.51 Mb.
#1547427
  1   2   3   4   5   6   7   8   9   10   11
Bog'liq
2-deadline. 7-12 (2)








AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARNI


RIVOJLANTIRISH VAZIRLIGI


MUHAMMAD AL – XORAZMIY NOMIDAGI


TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI


FARG‘ONA FILIALI

Kompyuter injiniringfakulteti




Kompyuter injiniring yo‘nalishi

612-19 – guruh talabasi


Akbarova Mohigulning


MA’LUMOTLAR KOMMUNIKATSIYASI”




fanidan tayyorlagan
AMALIY MASHG‘ULOT
ISHLARI

Topshirdi: M.A.Akbarova
Qabul qildi: O.I.Ergashev
Farg‘ona 2023
AMALIY MASHG‘ULOT - 7


Mavzu: Java-da MapReduce dasturi
Ishning maqsadi: Displey funksiyasi, konvolyutsiya funktsiyasi va topshiriqni bajarish kodini o'rganish.
Shunday qilib, biz MapReduce dasturi qanday ishlashini aniqladik . Keyingi qadam uning dastur kodi shaklida ifodalanishi bo'lishi kerak. Bizga kerak: displey funktsiyasi, yig'ish funktsiyasi va ishni bajarish kodi. Xaritalash funktsiyasi mavhum xarita () usulini e'lon qiladigan Mapper sinfi bilan ifodalanadi . Xarita usulini amalga oshirish 2.3 ro'yxatda ko'rsatilgan .
Ro'yxat 2.3. Maksimal harorat misoli uchun displey funksiyasi.

Mapper sinfi parametrlangan; uning to'rt turdagi parametrlari ¬xaritalash funktsiyasining kirish kaliti, kirish qiymati, chiqish kaliti va chiqish qiymatining turlarini belgilaydi. Joriy misolda kiritish tugmasi uzun butun sonning ofsetidir, kirish qiymati matn qatori, chiqish tugmasi yil va chiqish qiymati havo harorati (butun son). O'rnatilgan Java turlaridan foydalanish o'rniga Hadoop tarmoqni ketma-ketlashtirish uchun optimallashtirilgan mahalliy baza turlarini taqdim etadi. Ular org. apache.hadoop.io paketida. Bizning misolimiz LongWritable turlaridan foydalanadi. ( Java Long tipidagi analog), Matn ( Java String ga o'xshash) va IntWritable ( Java Integerga o'xshash).
map () usuli kalit va qiymatni oladi . Kirish satrini o'z ichiga olgan matn qiymati Java turiga aylantiriladi String , undan keyin substring () usuli bizni qiziqtirgan ustunlarni chiqaradi.
map ( ) usuli ham Kontekst namunasini taqdim etadi chiqish ma'lumotlarini yozish uchun ¬. Bizning holatda yil matn ob'ekti sifatida yoziladi. (chunki u ¬faqat kalit sifatida ishlatiladi) va harorat IntWritable turiga joylashtirilgan . Chiqish ¬faqat harorat qiymati mavjud bo'lsa va sifat kodi harorat ma'lumotlarining haqiqiyligini ko'rsatsa yoziladi.
funktsiyani kamaytirish Ro'yxat 2.4 da ko'rsatilganidek , Reducer sinfi yordamida shunga o'xshash tarzda aniqlanadi .


Ish ob'ekti vazifaning spetsifikatsiyasini shakllantiradi va uni amalga oshirishni boshqarish imkonini beradi ¬. Bu ishni Hadoop klasterida bajarayotganda kod JAR fayliga qadoqlangan (qaysi Hadoop klaster bo'ylab taqsimlanadi). JAR fayl nomini aniq ko'rsatish o'rniga ¬biz sinfni Job sinfining setJarByClass () usuli va Hadoop ga o'tkazishimiz mumkin. belgilangan sinfni o'z ichiga olgan JAR faylini topadi .
Job ob'ektini yaratgandan so'ng ma'lumotlarni kiritish va chiqarish yo'llari ko'rsatilgan (yoki oddiyroq aytganda, kiritish va chiqish yo'llari). Kirish yo'li -FileInputFormat ob'ektida statik addInputPath () usulini chaqirish orqali aniqlanadi ; u bitta faylni, katalogni (bu holda kirish berilgan katalogdagi barcha fayllardan iborat) yoki naqshni belgilashi mumkin. Nomidan ko'rinib turibdiki, addInputPath () usuli bir nechta yo'llardan kirish kiritish uchun qayta-qayta chaqirilishi mumkin. Chiqish yo'li (faqat bitta bo'lishi mumkin) FileOutputFormat ob'ektining statik setOutputPath () usuli bilan o'rnatiladi . U konvolyutsiya funksiyalarining ¬chiqish fayllari yoziladigan katalogni belgilaydi. Ishni boshlashdan oldin katalog mavjud bo'lmasligi kerak, aks holda Hadoop ogohlantirish xabarini chiqaradi va ishni bajarmaydi. Bu -mumkin bo'lgan ma'lumotlar yo'qolishining oldini olish uchun amalga oshiriladi (uzoq davom etgan ishning natijasini tasodifan boshqa ma'lumotlar bilan qayta yozish juda asabiylashadi).
Keyin xaritalash va qisqartirish turlari setMapperClass () va se - tReducerClass () usullari bilan o'rnatiladi .
setOutputKeyClass () va setOutputValueClass () usullari xaritaning chiqish turlarini nazorat qiladi va ko'pincha bir xil bo'lgan funktsiyalarni kamaytiradi (bizning holatimizda bo'lgani kabi) . Agar turlar bir-biridan farq qiladigan bo'lsa, chiqish xaritalash turlari ¬setMapOutputKeyClass () va setMapOutputValueClass () usullari bilan o'rnatiladi .
Kirish turlari kiritish formati nuqtai nazaridan aniqlanadi, biz buni aniq belgilamaymiz, chunki bizning misolimiz standart TextInput ¬Format dan foydalanadi .
Xaritalash va katlama funktsiyalarini belgilaydigan sinflarni o'rnatganingizdan so'ng ¬, ishni bajarishga o'tishingiz mumkin. Job sinfining waitForCompletion ( ) usuli Vazifani bajarish uchun topshiradi va uning bajarilishini kutadi. Usulning mantiqiy argumenti kengaytirilgan chiqish bayrog'ini belgilaydi; bizning holatlarimizda, vazifaning borishi haqidagi ma'lumotlar konsolda ko'rsatiladi.
waitForCompletion () usulining qaytish qiymati muvaffaqiyat ( rost ) yoki muvaffaqiyatsizlik ( false ) ning mantiqiy ¬koʻrsatkichidir , bu dasturdan chiqish kodini 0 yoki 1 ga aylantiradi.


Xulosa
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):




Download 0.51 Mb.

Do'stlaringiz bilan baham:
  1   2   3   4   5   6   7   8   9   10   11




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