Hive бизнесте кеңири колдонулган Big Data Analytics куралы жана эгер сиз Big Data менен жаңы болсоңуз, баштоо үчүн эң сонун жер. Бул Apache Hive сабагы Apache Hive негиздери, уюк эмне үчүн керек, анын өзгөчөлүктөрү жана башка сиз билишиңиз керек болгон нерселердин бардыгын камтыйт.
Келгиле, алгач Apache Hive курулган Hadoop алкагын түшүнөлү.
Apache Hadoop
Apache Hadoop акысыз жана ачык булак өлчөмү гигабайттан петабайтка чейинки чоң маалымат топтомдорун сактоо жана иштетүү үчүн платформа. Hadoop бир чоң компьютерди маалыматтарды сактоо жана талдоону талап кылбастан, параллелдүү түрдө эбегейсиз берилиштер топтомун талдоо үчүн көптөгөн компьютерлерди кластерлештирүүгө мүмкүндүк берет.
MapReduce жана Hadoop бөлүштүрүлгөн File System компоненттеринин эки болуп саналат:
- MapReduce – MapReduce – бул товардык аппараттык кластерлер боюнча уюшкан, жарым структураланган жана структураланбаган маалыматтардын чоң көлөмүн иштетүү үчүн параллелдүү программалоо ыкмасы.
- HDFS – HDFS (Hadoop Distributed File System) – маалыматтарды сактаган жана иштеткен Hadoop алкактык компоненти. Бул стандарттык жабдыкта иштеген каталарга чыдамдуу файл системасы
Hadoop модулдарына жардам берүү үчүн Hadoop экосистемасындагы ар кандай суб-долбоорлор (куралдар), анын ичинде Sqoop, Pig жана Hive колдонулат.
- Hive – Hive MapReduce эсептөөлөрүн аткарган SQL стилиндеги скрипттерди жазуу үчүн негиз.
- чочко – Pig – бул MapReduce процесстери үчүн сценарий түзүү үчүн колдонулушу мүмкүн болгон процедуралык программалоо тили.
- Sqoop – Sqoop HDFS жана RDBMS ортосунда маалыматтарды импорттоо жана экспорттоо үчүн курал болуп саналат.
Эмне Apache Hive?
Apache Hive ачык булак болуп саналат маалымат кампасы түздөн-түз Apache Hadoop Distributed File System (HDFS) же Apache HBase сыяктуу башка маалымат сактоо системаларында сакталган чоң маалымат топтомун окуу, жазуу жана башкаруу үчүн программа.
SQL иштеп чыгуучулары кадимки SQL билдирмелери менен салыштырууга боло турган маалыматтарды суроо жана талдоо үчүн Hive Query Language (HQL) билдирүүлөрүн түзүү үчүн Hive колдонушу мүмкүн. Бул узак Java кодун үйрөнүү жана жазуу зарылдыгын жок кылуу менен MapReduce программалоосун жеңилдетүү үчүн түзүлгөн. Анын ордуна, сиз HQLде сурооңузду жазсаңыз болот жана Hive картаны түзүп, сиз үчүн функцияларды азайтат.
Apache Hive'дин SQL сыяктуу интерфейси атайын издөөлөрдү жүргүзүү, Hadoop маалыматтарын жалпылоо жана талдоо үчүн Алтын стандарт болуп калды. Булутка киргизилгенде эсептөө тармактары, бул чечим өзгөчө үнөмдүү жана масштабдуу, ошондуктан көптөгөн фирмалар, анын ичинде Netflix жана Amazon, Apache Hive'ди иштеп чыгууну жана жакшыртууну улантууда.
тарых
Фейсбукта иштеген учурунда Джойдип Сен Сарма жана Ашиш Соуоо биргелешип 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 Distributed File System HDFS үчүн таблицаларга маалыматтарды иретке келтирет) жана жооп алуу үчүн кластердеги тапшырмаларды аткарат.
маалыматтар
Apache Hive таблицалары реляциялык маалымат базасындагы таблицалар сыяктуу уюштурулган, маалымат бирдиктери чоңураактан кичирээкке чейин өзгөрөт. Маалыматтар базалары бөлүмдөргө бөлүнгөн таблицалардан турат, алар андан ары чакаларга бөлүнөт. HiveQL (Hive Query Language) маалыматтарга жетүү үчүн колдонулат, аларды өзгөртүүгө же кошууга болот. Таблица маалыматтары ар бир маалымат базасында серияланган жана ар бир таблица өзүнүн HDFS каталогуна ээ.
архитектура
Эми биз уюк архитектурасынын эң маанилүү аспектиси жөнүндө сүйлөшөбүз. Apache Hive компоненттери төмөнкүдөй:
Metastore — Ар бир таблица тууралуу анын структурасы жана жайгашкан жери сыяктуу маалыматтарды эсепке алат. Бөлүмдүн метаберилиштери да Hiveге камтылган. Бул айдоочуга кластер боюнча таралган ар кандай маалымат топтомдорунун жүрүшүнө көз салууга мүмкүндүк берет. Маалыматтар кадимки RDBMS форматында сакталат. Уюктун метадайындары драйвер үчүн маалыматтарды көзөмөлдөө үчүн абдан маанилүү. Резервдик сервер маалыматтардын көчүрмөсүн үзгүлтүксүз түрдө кайталап турат, андыктан маалыматтар жоголгон учурда калыбына келтирилет.
айдоочу – HiveQL билдирүүлөрү контроллер катары иштеген драйвер тарабынан кабыл алынат. Сеанстарды түзүү менен айдоочу арыздын аткарылышын демилгелейт. Ал аткаруу бийлигинин өмүрүнүн узактыгына жана ийгиликтерине көз салып турат. HiveQL билдирүүсүн аткаруу учурунда драйвер керектүү метаберилиштерди сактайт. Ал ошондой эле кыскартуу процессинен кийин маалымат же суроонун жыйынтыгын чогултуучу чекит катары кызмат кылат.
Түзүүчү – Бул HiveQL суроо компиляциясын аткарат. Сурам азыр аткаруу планына айландырылды. Милдеттер планда көрсөтүлгөн. Ал ошондой эле MapReduce сурам аркылуу которулган натыйжаны алуу үчүн аткара турган кадамдарды камтыйт. Суроо Hive компилятору (AST) тарабынан абстракттуу синтаксис дарагына айландырылат. Шайкештикти жана компиляция убактысынын каталарын (DAG) текшергенден кийин ASTти Багытталган Циклдик Графикке айлантат.
оптимизатору - Бул аткаруу планына ар кандай өзгөртүүлөрдү киргизүү менен DAG оптималдаштырат. Ал эффективдүүлүктү жогорулатуу үчүн трансформацияларды айкалыштырат, мисалы, кошулма түтүгүн бир бириктирүүгө айландыруу. Ылдамдыкты жогорулатуу үчүн оптимализатор кыскартуу операциясын аткаруудан мурун берилиштерге трансформацияны колдонуу сыяктуу аракеттерди бөлүшү мүмкүн.
Аткаруучу – Компиляция жана оптималдаштыруу аяктагандан кийин аткаруучу тапшырмаларды аткарат. Жумуштар Аткаруучу тарабынан өткөрүлөт.
CLI, UI жана Thrift Server – Буйрук сабы интерфейси (CLI) – бул тышкы колдонуучуга Hive менен байланышууга мүмкүндүк берген колдонуучу интерфейси. JDBC же ODBC протоколдоруна окшош уюктун үнөмдөөчү сервери тышкы кардарларга тармак аркылуу Hive менен байланышууга мүмкүндүк берет.
коопсуздук
Apache Hive Hadoop коопсуздугу менен интеграцияланган, анда Kerberos кардар менен сервердин өз ара аутентификациясы колдонулат. 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 сурамдарынын күтүү мөөнөтү өтө жогору.
- Subquery колдоо чектелген.
- Реалдуу убакыттагы сурамдар жана сап деңгээлиндеги өзгөрүүлөр Apache Hive'де жеткиликсиз.
- Материалдык көз караштарды колдоо жок.
- Уюкта жаңыртуу жана жок кылуу аракеттери колдоого алынбайт.
- OLTP (онлайн өткөөл процесс) үчүн арналган эмес.
Apache Hive менен баштоо
Apache Hive - бул сиздин иш процесстериңизди жөнөкөйлөткөн жана тартипке келтирген күчтүү Hadoop өнөктөшү. Apache Hive'ден максималдуу пайда алуу үчүн үзгүлтүксүз интеграция маанилүү. Биринчи кадам баруу болуп саналат сайты.
1. Туруктуу релизден орнотуу уюгу
Apache жүктөө күзгүлөрүнүн биринен Hiveтин эң акыркы туруктуу чыгарылышын жүктөп алуу менен баштаңыз (караңыз Hive Releases). Андан кийин тарболду таңгактан чыгаруу керек. Бул Hive-xyz деп аталган ички папканы түзөт (мында xyz - чыгаруу номери):
Орнотуу каталогун көрсөтүү үчүн HIVE_HOME чөйрө өзгөрмөсүн коюңуз:
Акыр-аягы, өзүңүзгө $HIVE_HOME/bin кошуңуз PATH
:
2. Running Hive
Уюк Hadoop колдонот, ошондуктан:
- Сиздин жолуңузда Hadoop болушу керек ЖЕ
3. DLL операциясы
Уюк таблицасын түзүү
эки мамычасы бар pokes аттуу таблицаны түзөт, анын биринчиси бүтүн сан, экинчиси сап.
Таблицаларды карап чыгуу
Бардык таблицалардын тизмеси
Таблицаларды өзгөртүү жана түшүрүү
Таблицалардын аталыштарын өзгөртүүгө жана мамычаларды кошууга же алмаштырууга болот:
Белгилей кетчү нерсе, АЛМАШТЫРУУ ТАМАНЫЧА маалыматтарын эмес, таблицанын түзүмүн гана өзгөртүп, учурдагы бардык мамычаларды алмаштырат. Таблицада жергиликтүү SerDe колдонулушу керек. АЛМАШТЫРУУ МААЛЫМАЛАР үстөлдүн схемасынан мамычаларды алып салуу үчүн да колдонулушу мүмкүн:
Жадыбалдарды түшүрүү
Apache Hive'де көптөгөн кошумча операциялар жана функциялар бар, алар тууралуу расмий веб-сайтка кирип биле аласыз.
жыйынтыктоо
Hive аныктамасы - бул Apache Hadoop үстүнө курулган чоң маалымат топтомдорун суроо жана талдоо үчүн берилиштер программасынын интерфейси. Профессионалдар аны башка программаларга, куралдарга жана программалык камсыздоого караганда тандашат, анткени ал негизинен Hive кеңири маалыматтары үчүн иштелип чыккан жана колдонууга жөнөкөй.
Бул окуу куралы сизге Apache Hive менен баштоого жана иш процесстериңизди натыйжалуураак кылууга жардам берет деп үмүттөнөм. Комментарийлерде бизге айтыңыз.
Таштап Жооп