Hive - бизнесте кеңінен қолданылатын Big Data Analytics құралы және егер сіз Big Data үшін жаңа болсаңыз, оны бастау үшін тамаша орын. Бұл Apache Hive сабағы Apache Hive негіздерін, ұя не үшін қажет екенін, оның мүмкіндіктерін және сіз білуі керек басқа нәрселерді қарастырады.
Алдымен Apache Hive құрылған Hadoop құрылымын түсінейік.
Apache Hadoop
Apache Hadoop - бұл тегін және Ашық көзі көлемі гигабайттан петабайтқа дейінгі үлкен деректер жиынын сақтауға және өңдеуге арналған платформа. Hadoop көптеген компьютерлерді кластерлеуге деректерді сақтау және талдау үшін бір үлкен компьютерді қажет етпей, үлкен деректер жиынын параллельді талдауға мүмкіндік береді.
MapReduce және Hadoop таратылған файлдық жүйесі екі құрамдас болып табылады:
- MapReduce – MapReduce – тауарлық аппараттық кластерлерде ұйымдастырылған, жартылай құрылымдалған және құрылымдалмаған деректердің үлкен көлемін өңдеуге арналған параллельді бағдарламалау әдісі.
- HDFS – HDFS (Hadoop Distributed File System) – деректерді сақтайтын және өңдейтін Hadoop құрылымдық компоненті. Бұл стандартты жабдықта жұмыс істейтін ақауларға төзімді файлдық жүйе
Hadoop модульдеріне көмектесу үшін Hadoop экожүйесіндегі әртүрлі қосалқы жобалар (құралдар), соның ішінде Sqoop, Pig және Hive пайдаланылады.
- Хайв – Hive – MapReduce есептеулерін орындайтын SQL стиліндегі сценарийлерді жазуға арналған құрылым.
- Шошқа – Pig — MapReduce процестері үшін сценарий жасау үшін пайдаланылуы мүмкін процедуралық бағдарламалау тілі.
- Sqoop – Sqoop – HDFS және RDBMS арасындағы деректерді импорттау және экспорттау құралы.
қандай Apache Hive?
Apache Hive - ашық бастапқы код деректер қоймасы тікелей Apache Hadoop таратылған файл жүйесінде (HDFS) немесе Apache HBase сияқты басқа деректерді сақтау жүйелерінде сақталған үлкен деректер жиынын оқуға, жазуға және басқаруға арналған бағдарлама.
SQL әзірлеушілері әдеттегі SQL мәлімдемелерімен салыстырылатын деректер сұрауы мен талдауы үшін Hive сұрау тілі (HQL) мәлімдемелерін жасау үшін Hive пайдалана алады. Ол ұзақ Java кодын үйрену және жазу қажеттілігін жою арқылы MapReduce бағдарламалауды жеңілдету үшін жасалған. Оның орнына, сіз HQL тілінде сұрауларыңызды жаза аласыз және Hive картаны жасайды және сіз үшін функцияларды азайтады.
Apache Hive интерфейсінің SQL-тәрізді интерфейсі арнайы іздеулерді орындауға, Hadoop деректерін қорытындылауға және талдауға арналған Алтын стандартқа айналды. Бұлтқа қосылғанда есептеу желілері, бұл шешім әсіресе үнемді және масштабталады, сондықтан көптеген фирмалар, соның ішінде Netflix және Amazon, Apache Hive-ті дамытуды және жетілдіруді жалғастыруда.
Тарих
Facebook-тегі уақытында Джойдип Сен Сарма мен Ашиш Сосуо Apache Hive-ті бірлесіп құрды. Олар екеуі де Hadoop мүмкіндігін барынша пайдалану үшін біршама күрделі Java Map-Reduce тапсырмаларын жасау керек екенін түсінді. Олар тез дамып келе жатқан инженерлік және аналитикалық топтарын компанияда Hadoop-ты қолдану үшін қажетті дағдыларға үйрете алмайтындарын түсінді. Инженерлер мен талдаушылар SQL-ті пайдаланушы интерфейсі ретінде жиі пайдаланды.
SQL аналитикалық қажеттіліктердің көпшілігін қанағаттандыра алатын болса да, әзірлеушілер Hadoop бағдарламасының бағдарламалану мүмкіндігін қосуды көздеді. Apache Hive осы екі мақсаттан туындады: SQL-негізделген декларативті тіл, сонымен қатар әзірлеушілерге SQL жеткіліксіз болған кезде өздерінің сценарийлері мен бағдарламаларын енгізуге мүмкіндік берді.
Сондай-ақ ол деректерге негізделген ұйымдарды құруды жеңілдету үшін компаниядағы барлық деректер жинақтары туралы орталықтандырылған метадеректерді (Hadoop негізінде) сақтау үшін әзірленген.
Apache Hive қалай жұмыс істейді?
Қысқаша айтқанда, Apache Hive HiveQL (SQL тәрізді) тілінде жазылған енгізу бағдарламасын бір немесе бірнеше Java MapReduce, Tez немесе Spark тапсырмаларына түрлендіреді. (Бұл орындау механизмдерінің барлығы Hadoop YARN-мен үйлесімді.) Осыдан кейін Apache Hive деректерді Hadoop таратылған файлдық жүйесі HDFS үшін кестелерге реттейді) және жауап алу үшін кластердегі тапсырмаларды орындайды.
мәліметтер
Apache Hive кестелері өлшемдері үлкеннен кішіге дейін ауытқитын деректер бірліктері бар реляциялық дерекқордағы кестелер ұйымдастырылғандай реттелген. Мәліметтер базасы бөлімдерге бөлінген кестелерден тұрады, олар әрі қарай шелектерге бөлінеді. HiveQL (Hive Query Language) өзгертуге немесе қосуға болатын деректерге қол жеткізу үшін пайдаланылады. Кесте деректері әрбір дерекқор ішінде серияланады және әрбір кестеде өзінің HDFS каталогы бар.
сәулет
Енді біз Hive архитектурасының ең маңызды аспектісі туралы сөйлесетін боламыз. Apache Hive құрамдастары келесідей:
Мета қоймасы — Ол әрбір кесте туралы оның құрылымы мен орналасуы сияқты ақпаратты қадағалайды. Бөлім метадеректері де Hive ішіне кіреді. Бұл драйверге кластер бойынша таралған әртүрлі деректер жиындарының орындалу барысын бақылауға мүмкіндік береді. Деректер кәдімгі RDBMS пішімінде сақталады. Hive метадеректері драйвер үшін деректерді қадағалап отыру үшін өте маңызды. Сақтық көшірме сервері деректер жоғалған жағдайда оларды қалпына келтіру үшін деректерді жүйелі түрде қайталайды.
жүргізуші – HiveQL мәлімдемелерін контроллер ретінде жұмыс істейтін драйвер қабылдайды. Сеанстарды орнату арқылы драйвер мәлімдеменің орындалуын бастайды. Ол атқарушы биліктің өмір сүру ұзақтығы мен жетістіктерін қадағалап отырады. HiveQL мәлімдемесін орындау кезінде драйвер қажетті метадеректерді сақтайды. Ол сонымен қатар азайту процесінен кейін деректер немесе сұрау нәтижелерін жинау нүктесі ретінде қызмет етеді.
Құрастырушы – Ол HiveQL сұрау компиляциясын орындайды. Сұрау енді орындау жоспарына түрлендірілді. Тапсырмалар жоспарда көрсетілген. Ол сонымен қатар сұрау арқылы аударылған нәтижені алу үшін MapReduce орындауы қажет қадамдарды қамтиды. Сұрау Hive компиляторы (AST) арқылы дерексіз синтаксистік ағашқа түрлендіріледі. Үйлесімділік пен компиляция уақытындағы ақауларды (DAG) тексергеннен кейін AST-ті бағытталған циклдік графикке түрлендіреді.
Оңтайландырушы – Ол орындау жоспарына әртүрлі өзгерістер енгізу арқылы DAG-ны оңтайландырады. Ол біріктіру құбырын бір біріктіруге айналдыру сияқты тиімділікті арттыру үшін түрлендірулерді біріктіреді. Жылдамдықты жақсарту үшін оңтайландырушы азайту әрекетін орындамас бұрын деректерге түрлендіруді қолдану сияқты әрекеттерді бөлуі мүмкін.
Орындаушы – Компиляция және оңтайландыру аяқталғаннан кейін орындаушы тапсырмаларды орындайды. Жұмыстарды Орындаушы орындайды.
CLI, UI және Thrift сервері – Пәрмен жолы интерфейсі (CLI) сыртқы пайдаланушыға Hive бағдарламасымен байланысуға мүмкіндік беретін пайдаланушы интерфейсі болып табылады. JDBC немесе ODBC протоколдарына ұқсас Hive сервері сыртқы клиенттерге желі арқылы Hive-пен байланысуға мүмкіндік береді.
қауіпсіздік
Apache Hive клиент пен сервердің өзара аутентификациясы үшін Kerberos пайдаланатын Hadoop қауіпсіздігімен біріктірілген. HDFS пайдаланушы, топ және басқалар тарапынан мақұлдауға мүмкіндік беретін Apache Hive жүйесінде жаңадан жасалған файлдарға рұқсаттарды белгілейді.
Басты ерекшеліктер
- Hive деректерді HDFS жүйесінде сақтамай өңдеуге мүмкіндік беретін сыртқы кестелерді қолдайды.
- Ол сондай-ақ жылдамдықты арттыру үшін кесте деңгейінде деректерді сегменттеуге мүмкіндік береді.
- Apache Hive Hadoop-тың төменгі деңгейлі интерфейс қажеттілігін өте жақсы қанағаттандырады.
- Hive деректерді қорытындылауды, сұрауды және талдауды жеңілдетеді.
- HiveQL ешқандай бағдарламалау дағдыларын қажет етпейді; SQL сұрауларын қарапайым түсіну жеткілікті.
- Сондай-ақ біз деректерді талдау үшін арнайы сұрауларды жүргізу үшін Hive пайдалана аламыз.
- Ол ауқымды, таныс және бейімделгіш.
- HiveQL ешқандай бағдарламалау дағдыларын қажет етпейді; SQL сұрауларын қарапайым түсіну жеткілікті.
артықшылықтары
Apache Hive күннің соңындағы есептерге, күнделікті транзакцияларды бағалауға, арнайы іздеулерге және деректерді талдауға мүмкіндік береді. Apache Hive ұсынған жан-жақты түсініктер айтарлықтай бәсекелестік артықшылықтар береді және нарық талаптарына жауап беруді жеңілдетеді.
Міне, осындай ақпараттың қолжетімді болуының кейбір артықшылықтары:
- пайдаланудың қарапайымдылығы – SQL-тәрізді тілімен деректерді сұрауды түсіну оңай.
- Деректерді жылдам енгізу — Apache Hive кесте түрін немесе схема анықтамасын тексермей схеманы оқитындықтан, деректерді дерекқордың ішкі пішіміндегі дискіге оқу, талдау және сериялау қажет емес. Керісінше, кәдімгі дерекқорда деректер қосылған сайын тексерілуі керек.
- Жоғары ауқымдылық, икемділік және үнемділік – Деректер HDFS ішінде сақталатындықтан, Apache Hive 100 петабайт деректерді сақтай алады, бұл оны әдеттегі дерекқорға қарағанда әлдеқайда ауқымды опция етеді. Apache Hive бұлтқа негізделген Hadoop қызметі ретінде тұтынушыларға өзгеретін жұмыс жүктемелерін қанағаттандыру үшін виртуалды серверлерді жылдам айналдыруға және төмендетуге мүмкіндік береді.
- Кең жұмыс қабілеттілігі – Үлкен деректер жиыны сағатына 100,000 XNUMX сұранысты өңдей алады.
шектеулер
- Жалпы, Apache Hive сұрауларының кешігуі өте жоғары.
- Ішкі сұрауды қолдау шектеулі.
- Нақты уақыттағы сұраулар мен жол деңгейіндегі өзгерістер Apache Hive жүйесінде қолжетімді емес.
- Материалдық көзқарастарға қолдау жоқ.
- Ұяда жаңарту және жою әрекеттеріне қолдау көрсетілмейді.
- OLTP (онлайн өтпелі процесс) үшін арналмаған.
Apache Hive бағдарламасын іске қосу
Apache Hive – жұмыс процестеріңізді жеңілдететін және жеңілдететін күшті Hadoop серіктесі. Apache Hive мүмкіндігін барынша пайдалану үшін үздіксіз интеграция маңызды. Бірінші қадам - сайтқа бару сайтқа.
1. Тұрақты шығарылымнан орнату ұясы
Apache жүктеп алу айналарының бірінен Hive бағдарламасының ең соңғы тұрақты шығарылымын жүктеп алудан бастаңыз (қараңыз Hive шығарылымдары). Содан кейін тарболды орауыштан шығару керек. Бұл hive-xyz деп аталатын ішкі қалтаны жасайды (мұндағы xyz - шығарылым нөмірі):
Орнату каталогын көрсету үшін HIVE_HOME айнымалы ортасын орнатыңыз:
Соңында, өзіңіздің қалтаңызға $HIVE_HOME/bin қосыңыз PATH
:
2. Hive іске қосу
Hive Hadoop пайдаланады, сондықтан:
- сіздің жолыңызда Hadoop болуы керек НЕМЕСЕ
3. DLL операциясы
Hive кестесін жасау
біріншісі бүтін сан, екіншісі жол болып табылатын екі бағаннан тұратын pokes атты кестені жасайды.
Кестелерді шолу
Барлық кестелерді тізімдеу
Кестелерді өзгерту және түсіру
Кесте атауларын өзгертуге және бағандарды қосуға немесе ауыстыруға болады:
Айта кетейік, БАҒАНДАРДЫ АУЫСТЫРУ деректерді емес, тек кесте құрылымын өзгерте отырып, барлық бар бағандарды ауыстырады. Кестеде жергілікті SerDe пайдаланылуы керек. БАҒАНДАРДЫ АУЫСТЫРУ функциясын кесте схемасынан бағандарды жою үшін де пайдалануға болады:
Кестелерді түсіру
Apache Hive бағдарламасында көптеген қосымша операциялар мен мүмкіндіктер бар, олар туралы ресми веб-сайтқа кіру арқылы білуге болады.
қорытынды
Hive анықтамасы - Apache Hadoop үстіне құрастырылған үлкен деректер жиынын сұрауға және талдауға арналған деректер бағдарламасының интерфейсі. Кәсіби мамандар оны басқа бағдарламаларға, құралдарға және бағдарламалық жасақтамаға қарағанда таңдайды, себебі ол негізінен Hive кең деректеріне арналған және пайдалану оңай.
Бұл оқулық сізге Apache Hive бағдарламасын іске қосуға және жұмыс процестеріңізді тиімдірек етуге көмектеседі деп үміттенемін. Түсініктемелерде бізге хабарлаңыз.
пікір қалдыру