Hive biznesda keng qo'llaniladigan Big Data Analytics vositasidir va agar siz Big Data bilan yangi bo'lsangiz, boshlash uchun ajoyib joy. Ushbu Apache Hive darsi Apache Hive asoslari, uya nima uchun zarurligi, uning xususiyatlari va siz bilishingiz kerak bo'lgan barcha narsalarni ko'rib chiqadi.
Keling, avvalo Apache Hive qurilgan Hadoop ramkasini tushunib olaylik.
Apache Hadoop
Apache Hadoop bepul va Ochiq manba hajmi gigabaytdan petabaytgacha bo'lgan katta ma'lumotlar to'plamini saqlash va qayta ishlash platformasi. Hadoop ma'lumotlarni saqlash va tahlil qilish uchun bitta katta kompyuterni talab qilish o'rniga, ko'plab kompyuterlarni klasterlash orqali ulkan ma'lumotlar to'plamini parallel ravishda tahlil qilish imkonini beradi.
MapReduce va Hadoop taqsimlangan fayl tizimi ikkita komponent hisoblanadi:
- MapReduce - MapReduce - bu tovar apparat klasterlaridagi katta hajmdagi tashkillashtirilgan, yarim tizimli va tuzilmagan ma'lumotlar bilan ishlash uchun parallel dasturlash usuli.
- HDFS – HDFS (Hadoop Distributed File System) ma’lumotlarni saqlaydigan va qayta ishlovchi Hadoop ramka komponentidir. Bu standart uskunada ishlaydigan nosozliklarga chidamli fayl tizimi
Hadoop modullariga yordam berish uchun Hadoop ekotizimidagi turli kichik loyihalar (asboblar), jumladan Sqoop, Pig va Hive ishlatiladi.
- Xiva – Hive MapReduce hisob-kitoblarini amalga oshiradigan SQL uslubidagi skriptlarni yozish uchun asosdir.
- Cho'chqa - Pig - bu MapReduce jarayonlari uchun skript yaratish uchun ishlatilishi mumkin bo'lgan protsessual dasturlash tili.
- Sqoop – Sqoop - bu HDFS va RDBMS o'rtasida ma'lumotlarni import qilish va eksport qilish vositasi.
Nima bu Apache uyasi?
Apache Hive ochiq manba hisoblanadi ma'lumotlar ombori to'g'ridan-to'g'ri Apache Hadoop Distributed File System (HDFS) yoki Apache HBase kabi boshqa ma'lumotlarni saqlash tizimlarida saqlanadigan katta ma'lumotlar to'plamlarini o'qish, yozish va boshqarish uchun dastur.
SQL ishlab chiquvchilari oddiy SQL bayonotlari bilan taqqoslanadigan ma'lumotlar so'rovi va tahlili uchun Hive Query Language (HQL) bayonotlarini yaratish uchun Hive-dan foydalanishlari mumkin. U uzoq Java kodini o'rganish va yozish zaruratini yo'qotib, MapReduce dasturlashni osonlashtirish uchun yaratilgan. Buning o'rniga, siz so'rovlaringizni HQL-da yozishingiz mumkin va Hive xaritani yaratadi va siz uchun funktsiyalarni kamaytiradi.
Apache Hive-ning SQL-ga o'xshash interfeysi maxsus qidiruvlarni amalga oshirish, Hadoop ma'lumotlarini umumlashtirish va tahlil qilish uchun Oltin standartga aylandi. Bulutga kiritilganda hisoblash tarmoqlari, bu yechim ayniqsa tejamkor va kengaytirilishi mumkin, shuning uchun ko'plab firmalar, shu jumladan Netflix va Amazon, Apache Hive-ni rivojlantirish va yaxshilashda davom etmoqda.
tarix
Joydeep Sen Sarma va Ashish Suchoo Facebookda ishlagan vaqtlarida Apache Hive-ni birgalikda yaratdilar. Ikkalasi ham Hadoop-dan maksimal darajada foydalanish uchun juda murakkab Java Map-Reduce vazifalarini yaratish kerakligini tushunishdi. Ular tez rivojlanayotgan muhandislik va analitik jamoalarini kompaniya bo‘ylab Hadoop’dan foydalanish uchun zarur bo‘lgan ko‘nikmalarga o‘rgata olmasligini tan oldilar. Muhandislar va tahlilchilar ko'pincha SQL-ni foydalanuvchi interfeysi sifatida ishlatishgan.
SQL ko'pgina tahliliy ehtiyojlarni qondirishi mumkin bo'lsa-da, ishlab chiquvchilar Hadoop-ning dasturlash qobiliyatini ham o'z ichiga olmoqchi edilar. Apache Hive ushbu ikkita maqsaddan kelib chiqdi: SQL-ga asoslangan deklarativ til, shuningdek, SQL etarli bo'lmaganda ishlab chiquvchilarga o'z skriptlari va dasturlarini olib kirishga imkon berdi.
Shuningdek, u ma'lumotlarga asoslangan tashkilotlarni qurishni osonlashtirish uchun kompaniyadagi barcha ma'lumotlar to'plamlari haqida markazlashtirilgan metama'lumotlarni (Hadoop-ga asoslangan) saqlash uchun ishlab chiqilgan.
Apache Hive qanday ishlaydi?
Xulosa qilib aytganda, Apache Hive HiveQL (SQL-ga o'xshash) tilida yozilgan kiritish dasturini bir yoki bir nechta Java MapReduce, Tez yoki Spark vazifalariga aylantiradi. (Ushbu ijro mexanizmlarining barchasi Hadoop YARN bilan mos keladi.) Shundan so'ng, Apache Hive ma'lumotlarni Hadoop Distributed File System HDFS uchun jadvallarga joylashtiradi) va javob olish uchun klasterdagi vazifalarni bajaradi.
ma'lumotlar
Apache Hive jadvallari relyatsion ma'lumotlar bazasidagi jadvallar bilan bir xil tarzda joylashtirilgan, ma'lumotlar birliklari hajmi kattadan kichikgacha bo'lgan. Ma'lumotlar bazalari bo'limlarga bo'lingan jadvallardan iborat bo'lib, ular keyinchalik chelaklarga bo'linadi. HiveQL (Hive Query Language) o'zgartirilishi yoki qo'shilishi mumkin bo'lgan ma'lumotlarga kirish uchun ishlatiladi. Jadval ma'lumotlari har bir ma'lumotlar bazasida ketma-ketlashtiriladi va har bir jadval o'zining HDFS katalogiga ega.
arxitektura
Endi biz Hive Architecturening eng muhim jihati haqida gapiramiz. Apache Hive komponentlari quyidagilardan iborat:
Metastore — Har bir jadval haqidagi maʼlumotlarni, masalan, uning tuzilishi va joylashishini kuzatib boradi. Bo'lim metama'lumotlari ham Hive-ga kiritilgan. Bu haydovchiga klaster bo'ylab tarqalgan turli xil ma'lumotlar to'plamlarining rivojlanishini kuzatish imkonini beradi. Ma'lumotlar an'anaviy RDBMS formatida saqlanadi. Hive metama'lumotlari haydovchi uchun ma'lumotlarni kuzatib borish uchun juda muhimdir. Zaxira serveri ma'lumotlar yo'qolgan taqdirda qayta tiklanishi uchun muntazam ravishda ma'lumotlarni takrorlaydi.
haydovchi – HiveQL bayonotlari boshqaruvchi vazifasini bajaradigan drayver tomonidan qabul qilinadi. Seanslarni o'rnatish orqali haydovchi bayonotning bajarilishini boshlaydi. U ijrochining umri va taraqqiyotini kuzatib boradi. HiveQL bayonotini bajarish jarayonida drayver kerakli metama'lumotlarni saqlaydi. U, shuningdek, kamaytirish jarayonidan so'ng ma'lumotlar yoki so'rov natijalarini yig'ish nuqtasi sifatida xizmat qiladi.
Tuzuvchi – HiveQL so‘rovlar kompilyatsiyasini amalga oshiradi. So'rov endi ijro rejasiga aylantirildi. Vazifalar rejada ko'rsatilgan. Shuningdek, u MapReduce so'rov orqali tarjima qilingan natijani olish uchun bajarishi kerak bo'lgan qadamlarni o'z ichiga oladi. So'rov Hive kompilyatori (AST) tomonidan Abstrakt sintaksis daraxtiga aylantiriladi. Muvofiqlik va kompilyatsiya vaqtida xatoliklarni (DAG) tekshirgandan so'ng ASTni yo'naltirilgan siklik grafikga aylantiradi.
Optimizator – Ijro rejasiga turli xil o'zgarishlar kiritish orqali DAGni optimallashtiradi. U samaradorlikni oshirish uchun transformatsiyalarni birlashtiradi, masalan, birlashtiruvchi quvurlarni bitta birikmaga aylantirish. Tezlikni oshirish uchun optimallashtiruvchi harakatlarni ajratishi mumkin, masalan, qisqartirish operatsiyasini bajarishdan oldin ma'lumotlarga o'zgartirishni qo'llash.
Ijrochi – Kompilyatsiya va optimallashtirish tugagach, ijrochi vazifalarni bajaradi. Ishlar Ijrochi tomonidan amalga oshiriladi.
CLI, UI va Thrift Server – Buyruqlar qatori interfeysi (CLI) tashqi foydalanuvchiga Hive bilan muloqot qilish imkonini beruvchi foydalanuvchi interfeysi. JDBC yoki ODBC protokollariga o'xshash Hive-ning tejamkor serveri tashqi mijozlarga tarmoq orqali Hive bilan bog'lanish imkonini beradi.
xavfsizlik
Apache Hive mijoz-server o'zaro autentifikatsiyasi uchun Kerberos-dan foydalanadigan Hadoop xavfsizligi bilan birlashtirilgan. HDFS Apache Hive-da yangi yaratilgan fayllar uchun ruxsatlarni belgilaydi, bu sizga foydalanuvchi, guruh va boshqalar tomonidan tasdiqlash imkonini beradi.
asosiy xususiyatlari
- Hive tashqi jadvallarni qo'llab-quvvatlaydi, bu sizga ma'lumotlarni HDFSda saqlamasdan qayta ishlash imkonini beradi.
- Shuningdek, u tezlikni oshirish uchun jadval darajasida ma'lumotlarni segmentatsiyasiga imkon beradi.
- Apache Hive Hadoop-ning past darajadagi interfeys ehtiyojlarini mukammal darajada qondiradi.
- Hive ma'lumotlarni umumlashtirish, so'rash va tahlil qilishni osonlashtiradi.
- HiveQL hech qanday dasturlash ko'nikmalarini talab qilmaydi; SQL so'rovlarini oddiy tushunish kifoya.
- Shuningdek, biz ma'lumotlarni tahlil qilish uchun maxsus so'rovlarni o'tkazish uchun Hive-dan foydalanishimiz mumkin.
- U kengaytiriladigan, tanish va moslashuvchan.
- HiveQL hech qanday dasturlash ko'nikmalarini talab qilmaydi; SQL so'rovlarini oddiy tushunish kifoya.
foydasi
Apache Hive kun yakuni hisobotlari, kundalik tranzaksiyalarni baholash, maxsus qidiruvlar va ma'lumotlarni tahlil qilish imkonini beradi. Apache Hive tomonidan taqdim etilgan keng qamrovli tushunchalar sezilarli raqobatdosh ustunliklarni beradi va bozor talablariga javob berishni osonlashtiradi.
Mana shunday ma'lumotlarga ega bo'lishning ba'zi afzalliklari:
- foydalanish uchun qulaylik - SQL-ga o'xshash tili bilan ma'lumotlarni so'rashni tushunish oson.
- Tezlashtirilgan ma'lumotlarni kiritish — Apache Hive jadval turini yoki sxema taʼrifini tekshirmasdan sxemani oʻqiganligi sababli, maʼlumotlarni oʻqish, tahlil qilish va maʼlumotlar bazasining ichki formatidagi diskda ketma-ketlashtirish shart emas. Bundan farqli o'laroq, an'anaviy ma'lumotlar bazasida ma'lumotlar har safar qo'shilganda tekshirilishi kerak.
- Yuqori miqyoslilik, moslashuvchanlik va iqtisodiy samaradorlik - Ma'lumotlar HDFSda saqlanganligi sababli, Apache Hive 100 petabayt ma'lumotni saqlashi mumkin, bu uni odatdagi ma'lumotlar bazasiga qaraganda ancha kengaytiriladigan variantga aylantiradi. Apache Hive, bulutga asoslangan Hadoop xizmati sifatida mijozlarga o'zgaruvchan ish yuklarini qondirish uchun virtual serverlarni tezda yuqoriga va pastga aylantirish imkonini beradi.
- Keng ish qobiliyati - Katta ma'lumotlar to'plamlari soatiga 100,000 XNUMX tagacha so'rovlarni bajarishi mumkin.
cheklashlar
- Umuman olganda, Apache Hive so'rovlari juda yuqori kechikishga ega.
- Quyi so'rovlarni qo'llab-quvvatlash cheklangan.
- Haqiqiy vaqtda so'rovlar va satr darajasidagi o'zgarishlar Apache Hive'da mavjud emas.
- Moddiylashtirilgan qarashlar qo'llab-quvvatlanmaydi.
- Uyada yangilash va o'chirish amallari qo'llab-quvvatlanmaydi.
- OLTP (onlayn o'tish jarayoni) uchun mo'ljallanmagan.
Apache Hive bilan ishlashni boshlash
Apache Hive - bu ish oqimlaringizni soddalashtiradigan va soddalashtiradigan kuchli Hadoop hamkori. Apache Hive-dan maksimal darajada foydalanish uchun uzluksiz integratsiya muhim ahamiyatga ega. Birinchi qadam - bu erga borish Veb-sayt.
1. Barqaror relizdan o'rnatish uyasi
Apache yuklab olish oynalaridan biridan Hive-ning eng so'nggi barqaror versiyasini yuklab olish bilan boshlang (qarang Hive relizlari). Keyin tarbolni o'rash kerak. Bu Hive-xyz deb nomlangan pastki papkani yaratadi (bu erda xyz - reliz raqami):
O'rnatish katalogiga ishora qilish uchun HIVE_HOME muhit o'zgaruvchisini o'rnating:
Nihoyat, $HIVE_HOME/bin qo'shing PATH
:
2. Running Hive
Hive Hadoop-dan foydalanadi, shuning uchun:
- yo'lingizda Hadoop bo'lishi kerak YOKI
3. DLL bilan ishlash
Hive jadvalini yaratish
ikkita ustunli pokes nomli jadval hosil qiladi, birinchisi butun son, ikkinchisi esa satr.
Jadvallarni ko'rib chiqish
Barcha jadvallarni ro'yxatga olish
Jadvallarni o'zgartirish va tushirish
Jadval nomlarini o'zgartirish va ustunlarni qo'shish yoki almashtirish mumkin:
Shuni ta'kidlash kerakki, USTUNLARNI ALGILASH barcha mavjud ustunlar o'rnini bosadi va ma'lumotlarni emas, balki faqat jadval tuzilishini o'zgartiradi. Jadvalda mahalliy SerDe dan foydalanish kerak. USTUNLARNI ALSHIRISh dan jadval sxemasidan ustunlarni olib tashlash uchun ham foydalanish mumkin:
Jadvallarni tushirish
Apache Hive-da ko'plab qo'shimcha operatsiyalar va funktsiyalar mavjud, ular haqida rasmiy veb-saytga tashrif buyurib bilib olishingiz mumkin.
Xulosa
Hive definition - bu Apache Hadoop ustiga qurilgan ulkan ma'lumotlar to'plamini so'rash va tahlil qilish uchun ma'lumotlar dasturi interfeysi. Professionallar uni boshqa dasturlar, vositalar va dasturlardan ko'ra tanlaydilar, chunki u asosan Hive keng ma'lumotlari uchun mo'ljallangan va ulardan foydalanish oson.
Umid qilamanki, ushbu qo'llanma sizga Apache Hive-ni ishga tushirishga va ish jarayonlaringizni yanada samaraliroq qilishga yordam beradi. Izohlarda bizga xabar bering.
Leave a Reply