He mea hoʻohana nui ʻo Hive ma ka ʻoihana, a he wahi maikaʻi ia e hoʻomaka ai inā he hou ʻoe i ka Big Data. Ke hele nei kēia haʻawina ʻo Apache Hive i nā kumu o Apache Hive, no ke aha e pono ai ka hive, kona mau hiʻohiʻona, a me nā mea ʻē aʻe āu e ʻike ai.
E hoʻomaopopo mua kākou i ka hana Hadoop kahi i kūkulu ʻia ai ʻo Apache Hive.
ʻO Apache Hadoop
He manuahi ʻo Apache Hadoop a Wehewehe kahua no ka mālama ʻana a me ka hana ʻana i nā ʻikepili nui mai ka gigabytes a hiki i nā petabytes. Hāʻawi ʻo Hadoop i ka hōʻuluʻulu ʻana i nā kamepiula he nui e kālailai i nā ʻikepili nui i ka like, ma mua o ka koi ʻana i hoʻokahi kamepiula nui e mālama a nānā i ka ʻikepili.
ʻO MapReduce a me Hadoop Distributed File System ʻelua mau ʻāpana:
- MapReduce - ʻO MapReduce kahi ʻenehana papahana like ʻole no ka mālama ʻana i ka nui o nā ʻikepili i hoʻonohonoho ʻia, semi-structured, a i hoʻonohonoho ʻole ʻia ma nā pūʻulu lako waiwai.
- HDFS - ʻO HDFS (Hadoop Distributed File System) kahi ʻāpana hana Hadoop e mālama a hoʻoili i ka ʻikepili. He ʻōnaehana hoʻopalekana hewa ia e holo ana ma luna o nā lako maʻamau
Hoʻohana ʻia nā sub-projects (mea hana) i loko o ke kaiaola Hadoop, me Sqoop, Pig, a me Hive, e kōkua i nā modula Hadoop.
- Hive - He hoʻolālā ʻo Hive no ke kākau ʻana i nā palapala ʻano SQL e hana ana i ka helu MapReduce.
- Pig - ʻO ka puaʻa kahi ʻōlelo papahana kaʻina hana e hoʻohana ʻia e hana i kahi palapala no nā kaʻina MapReduce.
- Sqoop - He mea hana ʻo Sqoop no ka lawe ʻana a me ka lawe ʻana i ka ʻikepili ma waena o HDFS a me RDBMS.
He aha ʻO Apache Hive?
ʻO Apache Hive kahi kumu wehe hale kūʻaiʻikepili polokalamu no ka heluhelu, kākau ʻana, a me ka hoʻokele ʻana i nā pūʻulu ʻikepili nui i mālama pono ʻia ma ka Apache Hadoop Distributed File System (HDFS) a i ʻole nā pūnaewele mālama ʻikepili e like me Apache HBase.
Hiki i nā mea hoʻomohala SQL ke hoʻohana iā Hive e hana i nā huaʻōlelo Hive Query Language (HQL) no ka huli ʻikepili a me ka nānā ʻana i hoʻohālikelike ʻia me nā ʻōlelo SQL maʻamau. Ua hana ʻia i mea e maʻalahi ai ka polokalamu MapReduce ma ka hoʻopau ʻana i ka pono e aʻo a kākau i ka code Java lōʻihi. Akā, hiki iā ʻoe ke kākau i kāu mau nīnau ma HQL, a na Hive e kūkulu i ka palapala ʻāina a hoʻemi i nā hana no ʻoe.
Ua lilo ka SQL-like interface o Apache Hive i Gold Standard no ka hana ʻana i nā hulina ad-hoc, hōʻuluʻulu ʻana, a me ka nānā ʻana i ka ʻikepili Hadoop. Ke komo i loko o ke ao nā pūnaewele hoʻopili, ʻoi aku ka maikaʻi o kēia hopena a hiki ke hoʻonui ʻia, ʻo ia ke kumu e hoʻomau ai nā ʻoihana he nui, me Netflix a me Amazon, e hoʻomohala a hoʻomaikaʻi i ka Apache Hive.
mō'aukala
I ko lākou manawa ma Facebook, ua hana pū ʻo Joydeep Sen Sarma lāua ʻo Ashish Thusoo iā Apache Hive. Ua ʻike lāua ʻelua no ka loaʻa ʻana o ka hapa nui o Hadoop, pono lākou e hana i kekahi mau hana paʻakikī Java Map-Reduce. Ua ʻike lākou ʻaʻole hiki iā lākou ke hoʻonaʻauao i kā lākou hoʻonui wikiwiki ʻana i ka ʻenekinia a me nā hui analytic i nā mākaukau e pono ai lākou e hoʻohana iā Hadoop ma waena o ka hui. Hoʻohana pinepine nā ʻenekinia a me nā mea loiloi i ka SQL ma ke ʻano he mea hoʻohana.
ʻOiai hiki i ka SQL ke hoʻokō i ka hapa nui o nā pono analytics, ua manaʻo nā mea hoʻomohala e hoʻokomo i ka programmability o Hadoop. Ua kū mai ʻo Apache Hive mai kēia mau pahuhopu ʻelua: he ʻōlelo hoʻolaha i hoʻokumu ʻia ma SQL e hiki ai i nā mea hoʻomohala ke lawe mai i kā lākou mau palapala a me nā papahana inā ʻaʻole lawa ka SQL.
Ua hoʻomohala ʻia e hoʻopaʻa i ka metadata kikowaena (Hadoop-based) e pili ana i nā ʻikepili āpau i ka ʻoihana e maʻalahi ke kūkulu ʻana i nā hui hoʻokele data.
Pehea e hana ai ʻo Apache Hive?
Ma ka pōkole, hoʻololi ʻo Apache Hive i kahi papahana hoʻokomo i kākau ʻia ma ka ʻōlelo HiveQL (like-SQL) i hoʻokahi a ʻoi aku paha nā hana Java MapReduce, Tez, a i ʻole Spark. (Ua kūpono kēia mau mīkini hoʻokō a pau me Hadoop YARN.) Ma hope o kēlā, hoʻonohonoho ʻo Apache Hive i nā ʻikepili i nā papa no ka Hadoop Distributed File System HDFS) a hana i nā hana ma kahi hui e loaʻa ai kahi pane.
'Ikepili
Hoʻonohonoho ʻia nā papa ʻo Apache Hive ma ke ʻano like me ka hoʻonohonoho ʻana o nā papa i loko o kahi waihona pili, me nā ʻāpana ʻikepili mai ka nui a ka liʻiliʻi. Hana ʻia nā waihona ʻikepili i nā papa i māhele ʻia i mau mahele, a ua māhele hou ʻia i mau bākeke. Hoʻohana ʻia ʻo HiveQL (Hive Query Language) e komo i ka ʻikepili, hiki ke hoʻololi a hoʻohui ʻia. Hoʻopili ʻia ka ʻikepili papa i loko o kēlā me kēia waihona, a aia kēlā me kēia papa i kāna papa kuhikuhi HDFS ponoʻī.
kuhikuhipuʻuone
I kēia manawa e kamaʻilio mākou e pili ana i ka mea nui loa o ka Hive Architecture. ʻO nā ʻāpana o Apache Hive penei:
Hale kūʻai Meta — Mālama ia i ka ʻike e pili ana i kēlā me kēia pākaukau, e like me kona ʻano a me kona wahi. Hoʻokomo pū ʻia ka metadata partition ma Hive. ʻAe kēia i ka mea hoʻokele e mālama i ka holomua o nā pūʻulu ʻikepili like ʻole i hoʻolaha ʻia ma ka pūʻulu. Mālama ʻia ka ʻikepili i kahi ʻano RDBMS maʻamau. He mea nui ka hive metadata no ka mea hoʻokele e mālama i ka ʻikepili. Hoʻopaʻa ʻia ka ʻikepili i kēlā me kēia manawa i hiki ke hoʻihoʻi ʻia i ka wā e nalowale ana ka ʻikepili.
O Keaukaha - Loaʻa nā ʻōlelo HiveQL e kahi mea hoʻokele, e hana ana ma ke ʻano he kaohi. Ma ka hoʻokumu ʻana i nā kau, hoʻomaka ka mea hoʻokele i ka hoʻokō ʻana i ka ʻōlelo. Mālama ia i ke ola a me ka holomua o ka luna hoʻokō. I ka wā e hoʻokō ai i kahi ʻōlelo HiveQL, mālama ka mea hoʻokele i ka metadata i koi ʻia. He helu ʻikepili a i ʻole ka huli ʻana i ka hopena ma hope o ke kaʻina hana Reduce.
Kāpekole - Hoʻokō ʻo ia i ka hōʻuluʻulu nīnau HiveQL. Ua hoʻololi ʻia ka nīnau i kahi hoʻolālā hoʻokō. Ua helu ʻia nā hana ma ka papahana. Aia pū kekahi i nā ʻanuʻu e pono ai ʻo MapReduce e loaʻa ai ka hopena e like me ka unuhi ʻia e ka nīnau. Hoʻololi ʻia ka nīnau i kahi Abstract Syntax Tree e ka Hive's compiler (AST). Hoʻololi i ka AST i Directed Acyclic Graph ma hope o ka nānā ʻana no ka hoʻohālikelike ʻana a me ka hōʻuluʻulu manawa hewa (DAG).
Optimizer - Hoʻonui ia i ka DAG ma ka hana ʻana i nā loli like ʻole i ka hoʻolālā hoʻokō. Hoʻohui ia i nā loli no ka hoʻomaikaʻi maikaʻi ʻana, e like me ka hoʻohuli ʻana i kahi pipeline o nā hui i hoʻokahi hui. No ka hoʻomaikaʻi ʻana i ka wikiwiki, hiki i ka mea hoʻoponopono ke hoʻokaʻawale i nā hana, e like me ka hoʻololi ʻana i ka ʻikepili ma mua o ka hana ʻana i kahi hana hōʻemi.
Luna Hoʻokele - Holo ka mea hoʻokō i nā hana i ka pau ʻana o ka hoʻohui ʻana a me ka optimization. Hoʻopili ʻia nā hana e ka mea hoʻokō.
ʻO CLI, UI, a me ka Mea Kūʻai Kūʻai - ʻO ke kikowaena laina kauoha (CLI) kahi mea hoʻohana e hiki ai i kahi mea hoʻohana waho ke kamaʻilio me Hive. Hiki i nā mea kūʻai aku o waho ke kamaʻilio me Hive ma o kahi pūnaewele.
maluhia
Hoʻohui ʻia ʻo Apache Hive me ka palekana Hadoop, e hoʻohana ana iā Kerberos no ka hōʻoia ʻana o ka mea kūʻai aku-server. Ke kuhikuhi nei ka HDFS i nā ʻae no nā faila hou i hana ʻia ma Apache Hive, e ʻae iā ʻoe e ʻae e ka mea hoʻohana, hui, a me nā mea ʻē aʻe.
Key helehelena
- Kākoʻo ʻo Hive i nā papa waho, e ʻae iā ʻoe e hana i ka ʻikepili me ka ʻole o ka mālama ʻana ma HDFS.
- Hiki iā ia ke hoʻonui i ka wikiwiki o ka māhele ʻikepili ma ka pae papaʻaina.
- Hoʻokō maikaʻi ʻo Apache Hive i ka pono haʻahaʻa haʻahaʻa o Hadoop.
- Hana ʻo Hive i ka hōʻuluʻulu ʻikepili, ka nīnau ʻana, a me ka nānā ʻana.
- ʻAʻole koi ʻo HiveQL i nā mākau papahana; ua lawa ka ʻike maʻalahi o nā nīnau SQL.
- Hiki iā mākou ke hoʻohana iā Hive e hana i nā nīnau ad-hoc no ka nānā ʻana i ka ʻikepili.
- Hiki ke hoʻonui, kamaʻāina, a hiki ke hoʻololi.
- ʻAʻole koi ʻo HiveQL i nā mākau papahana; ua lawa ka ʻike maʻalahi o nā nīnau SQL.
maika
Hāʻawi ʻo Apache Hive i nā hōʻike hope o ka lā, nā loiloi kālepa i kēlā me kēia lā, ʻimi ad-hoc, a me ka ʻikepili ʻikepili. Hāʻawi nā ʻike kikoʻī i hāʻawi ʻia e Apache Hive i nā pono hoʻokūkū koʻikoʻi a maʻalahi iā ʻoe e pane i nā koi mākeke.
Eia kekahi mau pono o ka loaʻa ʻana o ia ʻike maʻalahi:
- Nanea oe o ka i - Me kāna ʻōlelo e like me SQL, maʻalahi ka hoʻomaopopo ʻana i ka ʻikepili.
- Hoʻokomo ʻikepili wikiwiki — No ka heluhelu ʻana o Apache Hive i ka schema me ka ʻole o ka hōʻoia ʻana i ke ʻano papaʻaina a i ʻole ka wehewehe ʻana i ka schema, ʻaʻole pono e heluhelu ʻia ka ʻikepili, hoʻopaʻa ʻia, a hoʻopaʻa ʻia i ka disc ma ka hōʻano kūloko o ka waihona. ʻO ka ʻokoʻa, i loko o kahi waihona maʻamau, pono e hōʻoia ʻia ka ʻikepili i kēlā me kēia manawa i hoʻohui ʻia.
- ʻOi aku ka scalability, hiki ke maʻalahi, a me ka uku-pono - Ma muli o ka mālama ʻia ʻana o ka ʻikepili i ka HDFS, hiki iā Apache Hive ke paʻa i 100 mau petabytes o ka ʻikepili, e hoʻolilo iā ia i kahi koho ʻoi aku ka scalable ma mua o kahi waihona maʻamau. ʻO Apache Hive, ma ke ʻano he lawelawe Hadoop i hoʻokumu ʻia i ke ao, e ʻae i nā mea kūʻai aku e wili wikiwiki i luna a i lalo i nā kikowaena virtual e hālāwai me nā loli hana.
- Nui ka mana hana - Hiki i nā ʻikepili nui ke mālama i nā nīnau he 100,000 i kēlā me kēia hola.
hoʻokau
- Ma keʻano laulā, loaʻa ka latency kiʻekiʻe loa o nā nīnau Apache Hive.
- Ua kaupalena ʻia ke kākoʻo subquery.
- ʻAʻole loaʻa nā nīnau manawa maoli a me nā hoʻololi pae lālani ma Apache Hive.
- ʻAʻohe kākoʻo no nā manaʻo materialized.
- I loko o ka hive, ʻaʻole kākoʻo ʻia nā hana hou a holoi.
- ʻAʻole i manaʻo ʻia no OLTP (ka hana hoʻololi pūnaewele).
E hoʻomaka me Apache Hive
ʻO Apache Hive kahi hoa hana Hadoop ikaika e hoʻomaʻamaʻa a hoʻopololei i kāu kaʻina hana. No ka loaʻa ʻana o ka maikaʻi loa mai Apache Hive, pono ka hoʻohui pono ʻana. ʻO ka hana mua e hele i ka paena.
1. Hoʻokomo i ka Hive mai kahi hoʻokuʻu paʻa
E hoʻomaka ma ka hoʻoiho ʻana i ka hoʻokuʻu paʻa hou loa o Hive mai kekahi o nā aniani hoʻoiho Apache (e ʻike Hookuu Hive). A laila, pono e wehe ʻia ka tarball. E hana kēia i kahi waihona waihona i kapa ʻia ʻo hive-xyz (kahi ʻo xyz ka helu hoʻokuʻu):
E hoʻonoho i ka hoʻololi kaiapuni HIVE_HOME e kuhikuhi i ka papa kuhikuhi hoʻonohonoho:
ʻO ka hope, hoʻohui i $HIVE_HOME/bin i kāu PATH
:
2. Holoi Hive
Hoʻohana ʻo Hive iā Hadoop, no laila:
- Pono ʻoe e loaʻa ʻo Hadoop ma kou ala OR
3. Hana DLL
Ke hana ʻana i ka Papa Hive
hana i ka papa i kapa ʻia ʻo pokes me nā kolamu ʻelua, ʻo ka mua he helu helu a ʻo ka lua o ia mea he kaula.
Huli ma na Papa
Ka papa inoa o na papa a pau
Hoʻololi a hoʻolei i nā papa
Hiki ke hoʻololi ʻia nā inoa papa a hiki ke hoʻohui a hoʻololi ʻia nā kolamu:
Pono e hoʻomaopopo ʻia ua hoʻololi ʻo REPLACE COLUMNS i nā kolamu āpau i ka wā e hoʻololi wale nei i ke ʻano o ka papaʻaina a ʻaʻole ka ʻikepili. Pono e hoʻohana ʻia kahi SerDe maoli ma ka papaʻaina. Hiki ke hoʻohana ʻia ka REPLACE COLUMNS no ka wehe ʻana i nā kolamu mai ka schema o kahi pākaukau:
Nā Papa Haʻule
Nui nā hana hou a me nā hiʻohiʻona ma Apache Hive āu e aʻo ai ma ke kipa ʻana i ka pūnaewele official.
Panina
ʻO ka wehewehe ʻana ʻo Hive kahi kikowaena papahana ʻikepili no ka nīnau ʻana a me ka nānā ʻana no nā ʻikepili nui i kūkulu ʻia ma luna o Apache Hadoop. Koho ka poʻe loea ma mua o nā polokalamu ʻē aʻe, nā mea hana, a me nā lako polokalamu ʻoiai ua hoʻolālā nui ʻia no ka ʻikepili nui Hive a maʻalahi hoʻi e hoʻohana.
Manaʻolana e kōkua kēia kumu aʻo iā ʻoe e hoʻomaka me Apache Hive a e hoʻomaikaʻi maikaʻi i kāu kaʻina hana. E haʻi mai iā mākou ma nā manaʻo.
Waiho i ka Reply