Big data tahlili


-BOB HADOOP JAMG‘ARMASI VA EKOTIZIMI


Download 1.27 Mb.
bet61/71
Sana25.02.2023
Hajmi1.27 Mb.
#1229835
1   ...   57   58   59   60   61   62   63   64   ...   71
Bog'liq
A.X.Ruzmetov Qollanma

10-BOB

HADOOP JAMG‘ARMASI VA EKOTIZIMI


Ushbu bobda

  • Nima uchun Hadoop ekotizimi katta ma’lumotlar uchun asosdir

  • Hadoop YARN bilan resurslar va dasturlarni boshqarish

  • HBase bilan katta ma’lumotlarni saqlash

  • Hive bilan katta ma’lumotlarni olish

  • Hadoop ekotizimi bilan o‘zaro bog‘liqlik

9-bobda aytib o‘tilganidek, Hadoop MapReduce va Hadoop Distributed File System (HDFS) katta ma’lumotlar muammolarini hal qilish uchun kuchli texnologiyalardir. Bu yaxshi yangilik. Yomon yangilik shundaki, ushbu elementar tarkibiy qismlardan maksimal darajada foydalanish uchun dasturchi yoki ma’lumotni qayta ishlovchi mutaxassis bo‘lishingiz kerak. Hadoop ekotizimiga kiring. Bir necha yillar davomida va yaqin kelajakda butun dunyo bo‘ylab ochiq manbali ishlab chiquvchilar va tijorat ishlab chiquvchilari Hadoopni qabul qilish va ulardan foydalanishni yaxshilash uchun vositalarni yaratish va sinovdan o‘tkazmoqdalar. Ko‘pchilik ekotizimning ayrim qismlari ustida ishlamoqda va ularning yaxshilanishiga Apache loyihasiga qo‘shilmoqda. Ushbu doimiy tuzatishlar va yaxshilanishlar oqimi butun ekotizimni boshqariladigan va xavfsiz tarzda boshqarishga yordam beradi.
Ushbu bobda Hadoop ekotizimini tashkil etuvchi turli xil texnologiyalar bilan tanishasiz.

Hadoop ekotizimi bilan katta ma’lumotlarning asosini yaratish


Texnologiyalar va xizmatlar bilan to‘ldirilgan askunalar qutisiz katta ma’lumotlar muammolarini hal qilishga urinish, okeanni qoshiq bilan bo‘shatishga urinishga o‘xshaydi. Hadoop, MapReduce va HDFS ning asosiy tarkibiy qismlari sifatida doimo rivojlanib boradi va ajoyib boshlang‘ich nuqtani taqdim etadi, ammo ko‘prog‘i zarur. Hadoop ekotizimi katta ma’lumotlar yechimlarini ishlab chiqish, joylashtirish va qo‘llab-quvvatlashni soddalashtirish uchun maxsus ishlab chiqilgan tobora kengayib boradigan vositalar va texnologiyalar to‘plamini taqdim etadi. Ekotizimning asosiy tarkibiy qismlarini ko‘rib chiqishdan oldin, Hadoop ekotizimi va uning katta ma’lumotlar fazasidagi o‘rni haqida to‘xtalamiz.
Hech bir bino poydevorsiz barqaror bo‘lmaydi. Bu muhim bo‘lsa-da, barqarorlik binoda yagona muhim mezon emas. Binoning har bir qismi uning maqsadiga mos kelishi kerak. Devorlar, pollar, zinapoyalar, elektr energiyasi, suv quvurlari va tom bir-birini to‘ldirishi, qo‘llab-quvvatlash va birlashish uchun poydevorga suyanishi kerak. Hadoop ekotizimi bilan ham huddi shunday. MapReduce va HDFS bular asos bo‘ladi. Ular katta ma’lumotlar yechimlarining asosiy talablarini qo‘llab-quvvatlash uchun zarur bo‘lgan asosiy ramka va integratsiya xizmatlarini taqdim etadilar. Qolgan ekotizim, maqsadli real dunyodagi katta ma’lumotlar dasturlarini yaratish va boshqarish uchun zarur bo‘lgan tarkibiy qismlarni taqdim etadi.
Ekotizim bo‘lmasa, ishlab chiquvchilar, ma’lumotlar bazalari ma’murlari, tizim va tarmoq menejerlari va boshqalar katta ma’lumotlar yechimlarini yaratish va joylashtirish uchun bir qator texnologiyalarni aniqlashlari va kelishishlari kerak. Bu ko‘pincha korxonalar yangi va paydo bo‘lgan texnologiya tendentsiyalariga moslashishni xohlaganda sodir bo‘ladi. Yangi bozorda birlashayotgan texnologiyalarning ishi ko‘ngilni xira qiladi. Shuning uchun Hadoop ekotizimi katta ma’lumotlarning muvaffaqiyati uchun juda muhimdir. Bu bugungi kunda katta ma’lumotlarga oid muammolarni hal qilish uchun mavjud bo‘lgan eng keng qamrovli vositalar va texnologiyalar to‘plamidir. Ekotizim korxona va tashkilotlar tomonidan katta ma‘lumotlarning keng qo‘llanilishi uchun yangi imkoniyatlarni yaratmoqda.

Hadoop YARN bilan resurslar va dasturlarni boshqarish


Ishlarni rejalashtirish va kuzatib borish Hadoop MapReduce-ning ajralmas qismidir. Dastlabki Hadoop versiyalari ish va topshiriqlarni kuzatib borish uchun elementar tizimni qo‘llab-quvvatlagan, ammo Hadoop tomonidan qo‘llab-quvvatlanadigan ishlarning aralashmasi o‘zgarganligi sababli, rejalashtiruvchi uni ushlab tura olmagan. Xususan, eski rejalashtiruvchi MapReduce bo‘lmagan ishlarni boshqarolmadi va klasterdan foydalanishni optimallashtira olmadi. Shunday qilib, ushbu kamchiliklarni bartaraf etish va yanada moslashuvchanlik, samaradorlik va yaratuvchanlikni ta’minlash uchun yangi imkoniyat ishlab chiqildi.
Boshqa bir muzokaralar bo‘yicha ishonchli vakil (YARN) ikkita asosiy xizmatni taqdim etadigan Hadoop xizmatidir:

  • Resurslarni global boshqarish (ResourceManager)

  • Ilovalarni boshqarish (ApplicationMaster)

ResourceManager - Hadoop klasteridagi har bir tugun bo‘yicha NodeManager-ning asosiy xizmati va menejeri. ResourceManager-ga rejalashtiruvchi kiradi, uning yagona vazifasi tizim resurslarini ma’lum ishlaydigan dasturlarga (vazifalarga) ajratishdir, lekin u dastur holatini nazorat qilmaydi yoki kuzatmaydi. Barcha kerakli tizim ma’lumotlari resurslar konteynerida saqlanadi. Unda dasturni tugunda va klasterda ishlashi uchun zarur bo‘lgan protsessor, disk, tarmoq va boshqa muhim resurs atributlari haqida batafsil ma’lumotlar mavjud.
Har bir tugunda klasterda global ResourceManager-ga bo‘ysunadigan NodeManager mavjud. NodeManager dasturning protsessori, disk, tarmoq va xotiradan foydalanishni nazorat qiladi va ResourceManager-ga hisobot beradi. Tugun ustida ishlaydigan har bir dastur uchun tegishli ApplicationMaster mavjud. Agar ishlaydigan dasturni qo‘llab-quvvatlash uchun qo‘shimcha manbalar zarur bo‘lsa, ApplicationMaster NodeManager-ga xabar beradi va NodeManager dastur nomidan ResourceManager (scheduler) bilan qo‘shimcha imkoniyatlarni muhokama qiladi. NodeManager shuningdek, ish holati va tugunidagi rivojlanishni kuzatib borish uchun javobgardir.

HBase bilan katta ma’lumotlarni saqlash


HBase - bu doimiy ma’lumotlarni saqlash sifatida HDFS dan foydalanadigan, taqsimlangan relyatsion bo‘lmagan (ustunli) ma’lumotlar bazasi. U Google BigTable-dan so‘ng yaratilgan va juda katta jadvallarni (milliardlab ustunlar qatorlar) joylashtirishga qodir, chunki u Hadoop klasterlarida standart apparatda joylashgan. HBase real vaqt rejimida katta ma’lumotlarga tasodifiy o‘qish yozish imkoniyatini beradi. HBase juda moslashtirilgan bo‘lib, katta miqdordagi ma’lumotlarni samarali boshqarish uchun katta moslashuvchanlikni ta’minlaydi. Endi HBase katta ma’lumotlar muammolarini hal qilishda qanday yordam berishi mumkinligini ko‘rib chiqamiz.
HBase - bu ustunli ma’lumotlar bazasi, shuning uchun barcha berilganlar ma’lumotlar bazasini relyatsion boshqarish tizimlariga (RDBMS) o‘xshash qatorlar va ustunlar bilan jadvallarda saqlanadi. Qator va ustunning kesishishi katakcha deyiladi. HBase jadvallari va RDBMS jadvallari o‘rtasidagi muhim farqlardan biri bu versiyalashdir. Har bir katakcha qiymati versiya atributini o‘z ichiga oladi, bu faqat katakchani aniq belgilaydigan vaqt tamg‘asidan boshqa narsa emas. Versiyani boshqarish katakchadagi o‘zgarishlarni kuzatib boradi va kerak bo‘lganda tarkibning istalgan versiyasini olishga imkon beradi. HBase katakchalardagi ma’lumotlarni kamayish tartibida saqlaydi (vaqt tamg‘asi yordamida), shuning uchun o‘qish har doim eng yangi qiymatlarni topadi.
HBase-dagi ustunlar ustunlar oilasiga tegishli. Ustunli oila nomi a’zolarini aniqlash uchun prefiks sifatida ishlatiladi. Masalan, “mevalar: olma” va “mevalar: banan” mevali ustunlar oilasiga tegishli. HBase dasturlarini ustunlar oilasi darajasida sozlash mumkin, shuning uchun ma’lumotlarga qanday kirishni va ustunlarning qaysi hajmini kutayotganingizni yodda tutish kerak.
HBase jadvallaridagi qatorlarda ular bilan bog‘liq bo‘lgan kalit ham mavjud. Kalit tuzilishi juda moslashuvchan. Bu hisoblangan qiymat, belgili yoki hatto boshqa ma’lumotlar tuzilishi bo‘lishi mumkin. Kalit ketma-ket katakchalarga kirishni boshqarish uchun ishlatiladi va ular past qiymatdan yuqori qiymatgacha tartibda saqlanadi.
Ushbu funktsiyalarning barchasi birgalikda diagramma hosil qiladi. Sxema har qanday ma’lumotlarni saqlashdan oldin aniqlanadi va yaratiladi. Shunday bo‘lsa ham, ma’lumotlar bazasi ishga tushirilgandan so‘ng jadvallarni o‘zgartirish va yangi ustunli oilalarni qo‘shish mumkin. Ushbu kengayish katta ma’lumotlar bilan ishlashda juda foydalidir, chunki ma’lumotlar oqimlarining xilma-xilligi to‘g‘risida har doim ham xabardor bo‘lmaysiz.

Hive bilan katta ma’lumotlarni olish


Hive - bu Hadoop yadro elementlari (HDFS va MapReduce) asosida qurilgan ommaviy yo‘naltirilgan ma’lumotlar ombor qatlami. SQL-foydalanuvchilarga HiveQL deb nomlangan oddiy SQL-lite dasturini konvertorlar va reduktorlar orqali kirish imkoniyatidan mahrum qilmasdan taqdim etadi. Hive yordamida ikkala dunyodagi eng yaxshi narsalarga erishishingiz mumkin: SQL uslubidagi tuzilgan ma’lumotlarga kirish va MapReduce yordamida murakkab katta ma’lumotlarni tahlil qilish.
Ko‘pgina ma’lumotlar omborlaridan farqli o‘laroq, Hive so‘rovlarga tezkor javob berish uchun mo‘ljallanmagan. Aslida, so‘rovlar murakkablikka qarab bir necha daqiqa yoki hatto bir necha soat davom etishi mumkin. Natijada, Hive eng yaxshi ma’lumotni olish va real vaqtda ishlashni talab qilmaydigan chuqurroq tahlil uchun ishlatiladi. U Hadoop ramkasiga asoslanganligi sababli, u juda kengaytiriladigan, masshtablashgan va bardoshlidir, aytish mumkinki bu o‘rtacha ma’lumotlar ombori uchun emas.
Hiveda ma’lumotlarni tartibga solish uchun uchta mexanizm qo‘llaniladi:

  • Jadvallar: Hive jadvallari RDBMS jadvallariga o‘xshash, qatorlar va ustunlardan tashkil topgan. Hive Hadoop HDFS-da bir necha darajalarda joylashtirilganligi sababli, jadvallar fayl tizimidagi kataloglarga joylashtiriladi. Bundan tashqari, Hive boshqa mahalliy fayl tizimlarida saqlangan jadvallarni qo‘llab -quvvatlaydi.

  • Bo‘limlar: Hive jadvali bir yoki bir nechta bo‘limlarni qo‘llab -quvvatlashi mumkin. Bu bo‘limlar asosiy fayl tizimidagi kichik kataloglarga mos keladi va ma’lumotlar jadvallar bo‘ylab taqsimlanishini ifodalaydi. Misol uchun, agar jadval 12345 kalit qiymati va Fordning ishlab chiqaruvchi qiymati bilan avtoulov deb nomlangan bo‘lsa, bo‘limga yo‘l / hivewh / autos / kv = 12345 / Ford bo‘ladi.

  • Segmentlar: O‘z navbatida ma’lumotlarni segmentlarga bo‘lish mumkin. Segmentlar fayllar sifatida asosiy fayl tizimidagi bo‘lim katalogida saqlanadi. Segmentlar jadvaldagi ustunlar xeshiga asoslangan. Oldingi misolda Ford Focus avtomobilining barcha atributlarini o‘z ichiga olgan Focus nomli savat bo‘lishi mumkin.

Hivening metadatalari tashqaridan “metadata ombori” da saqlanadi. Metadata ombori - bu Hive sxemasining batafsil tavsiflarini, shu jumladan ustun turlarini, egalarini, kalit va qiymat ma’lumotlarini, jadval statistikasini va boshqalarni o‘z ichiga olgan o‘zaro bog‘liq ma’lumotlar bazasi. Metadata omborini katalog ma’lumotlarini Hadoop ekotizimidagi boshqa metadata xizmatlari bilan sinxronlashtirishi mumkin.
Hive, HiveQL deb nomlangan SQLga o‘xshash tilni qo‘llab-quvvatlaydi. HiveQL ko‘plab SQL primitivlarini qo‘llab-quvvatlaydi, masalan, tanlash, qo‘shish, yig‘ish, barchaga qo‘shilish va hokazo. Bundan tashqari, bir nechta jadvalli so‘rovlar va qo‘shimchalarni kiritish ma’lumotlarini bitta HiveQL bayonotiga bo‘lish orqali qo‘llab-quvvatlaydi. HiveQL-ni foydalanuvchi tomonidan aniqlangan agregatsiya, ustunli transformatsiyalar va ichki MapReduce skriptlarini qo‘llab-quvvatlash uchun kengaytirish mumkin.

Hadoop ekotizimi bilan o‘zaro munosabatlar


Dasturlarni yozish yoki maxsus so'rovlar tillarini ishlatish Hadoop ekotizimi bilan aloqa qilishning yagona usuli emas. Infratuzilmani boshqaradigan IT guruhlari Hadoop va u uchun yaratilgan katta ma’lumotlar ilovalarini boshqarishi kerak. Katta ma’lumotlar asosiy oqimga aylanib borayotganligi sababli, texnik bo‘lmaganlar biznes muammolarini katta ma’lumotlar bilan hal qilishga harakat qilishni xohlashadi. Ushbu mijozlar guruhlariga yordam beradigan Hadoop ekotizimidan bir nechta misollarni ko‘rib chiqing.

Download 1.27 Mb.

Do'stlaringiz bilan baham:
1   ...   57   58   59   60   61   62   63   64   ...   71




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