Hive යනු ව්යාපාරයේ බහුලව භාවිතා වන Big Data Analytics මෙවලමක් වන අතර, ඔබ Big Data වෙත අලුත් නම් එය ආරම්භ කිරීමට අපූරු ස්ථානයකි. මෙම Apache Hive පාඩම Apache Hive හි මූලික කරුණු හරහා වදයක් අවශ්ය වන්නේ ඇයි, එහි විශේෂාංග සහ ඔබ දැනගත යුතු අනෙකුත් සියල්ල හරහා යයි.
අපි මුලින්ම Apache Hive ගොඩනගා ඇති Hadoop රාමුව තේරුම් ගනිමු.
අපාචි හදූප්
Apache Hadoop යනු නොමිලේ සහ විවෘත කේතය ගිගාබයිට් සිට පෙටාබයිට් දක්වා විශාල දත්ත කට්ටල ගබඩා කිරීම සහ සැකසීම සඳහා වේදිකාවක්. දත්ත ගබඩා කිරීමට සහ විශ්ලේෂණය කිරීමට තනි විශාල පරිගණකයක් අවශ්ය කරනවාට වඩා, විශාල දත්ත කට්ටල සමාන්තරව විශ්ලේෂණය කිරීමට Hadoop පරිගණක රාශියක් පොකුරු කිරීමට ඉඩ දෙයි.
MapReduce සහ Hadoop Distributed ගොනු පද්ධතිය සංරචක දෙකකි:
- සිතියම් අඩු කිරීම - MapReduce යනු භාණ්ඩ දෘඪාංග පොකුරු මත සංවිධානාත්මක, අර්ධ-ව්යුහගත සහ ව්යුහගත නොවන දත්ත විශාල ප්රමාණයක් හැසිරවීම සඳහා සමාන්තර ක්රමලේඛන තාක්ෂණයකි.
- HDFS – HDFS (Hadoop Distributed File System) යනු දත්ත ගබඩා කර සකසන Hadoop රාමු සංරචකයකි. එය සම්මත දෘඪාංග මත ක්රියාත්මක වන දෝෂ වලට ඔරොත්තු දෙන ගොනු පද්ධතියකි
Hadoop පරිසර පද්ධතියේ විවිධ උප ව්යාපෘති (මෙවලම්), Sqoop, Pig, සහ Hive ඇතුළුව Hadoop මොඩියුල සඳහා උපකාර කිරීමට භාවිතා වේ.
- කාර්යබහුලයි – Hive යනු MapReduce ගණනය කිරීම් සිදු කරන SQL මාදිලියේ ස්ක්රිප්ට් ලිවීමේ රාමුවකි.
- අමු – Pig යනු MapReduce ක්රියාවලි සඳහා ස්ක්රිප්ට් එකක් සෑදීමට භාවිතා කළ හැකි ක්රියා පටිපාටි ක්රමලේඛන භාෂාවකි.
- Sqoop - Sqoop යනු HDFS සහ RDBMS අතර දත්ත ආනයනය සහ අපනයනය සඳහා වූ මෙවලමකි.
මොකක්ද අපාචේ හයිව්?
Apache Hive යනු විවෘත මූලාශ්රයකි දත්ත ගබඩාවයි Apache Hadoop Distributed File System (HDFS) හෝ Apache HBase වැනි වෙනත් දත්ත ගබඩා පද්ධති තුළ සෘජුවම ගබඩා කර ඇති විශාල දත්ත කට්ටල කියවීම, ලිවීම සහ කළමනාකරණය කිරීම සඳහා වූ වැඩසටහන.
SQL සංවර්ධකයින් සාමාන්ය SQL ප්රකාශ සමඟ සැසඳිය හැකි දත්ත විමසුම් සහ විශ්ලේෂණය සඳහා Hive Query Language (HQL) ප්රකාශයන් නිර්මාණය කිරීමට Hive භාවිතා කළ හැක. දිගු ජාවා කේත ඉගෙනීමේ සහ ලිවීමේ අවශ්යතාවය ඉවත් කිරීම මගින් MapReduce වැඩසටහන්කරණය පහසු කිරීම සඳහා එය නිර්මාණය කරන ලදී. ඒ වෙනුවට, ඔබට HQL හි ඔබගේ විමසුම් ලිවිය හැකි අතර, Hive විසින් සිතියම ගොඩනඟා ඔබ සඳහා වන කාර්යයන් අඩු කරනු ඇත.
Apache Hive හි SQL-සමාන අතුරුමුහුණත Ad-hoc සෙවීම් සිදු කිරීම, Hadoop දත්ත සාරාංශ කිරීම සහ විශ්ලේෂණය කිරීම සඳහා රන් සම්මතය බවට පත්ව ඇත. වලාකුළට ඇතුළත් කළ විට පරිගණක ජාල, මෙම විසඳුම විශේෂයෙන් ලාභදායී සහ පරිමාණය කළ හැකි ය, එබැවින් Netflix සහ Amazon ඇතුළු බොහෝ සමාගම් Apache Hive සංවර්ධනය කිරීම සහ වැඩිදියුණු කිරීම දිගටම කරගෙන යයි.
ඉතිහාසය
ඔවුන් Facebook හි සිටින කාලය තුළ, Joydeep Sen Sarma සහ Ashish Thusoo එක්ව Apache Hive නිර්මාණය කළහ. Hadoop වලින් උපරිම ප්රයෝජන ගැනීමට නම්, ඔවුන්ට තරමක් සංකීර්ණ Java Map-Reduce tasks කිහිපයක් නිර්මාණය කිරීමට සිදුවන බව ඔවුන් දෙදෙනාම හඳුනා ගත්හ. සමාගම හරහා 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 නාමාවලියක් ඇත.
ගෘහ නිර්මාණ ශිල්පය
දැන් අපි Hive Architecture හි වැදගත්ම අංගය ගැන කතා කරමු. Apache Hive හි සංරචක පහත පරිදි වේ:
මෙටාස්ටෝර් — එය එහි ව්යුහය සහ ස්ථානය වැනි එක් එක් වගුව පිළිබඳ තොරතුරු නිරීක්ෂණය කරයි. කොටස් පාර-දත්ත ද Hive හි ඇතුළත් වේ. මෙමගින් ධාවකයට පොකුර පුරා පැතිරී ඇති විවිධ දත්ත කට්ටලවල ප්රගතිය නිරීක්ෂණය කිරීමට ඉඩ සලසයි. දත්ත ගබඩා කර ඇත්තේ සාම්ප්රදායික RDBMS ආකෘතියෙනි. රියදුරුට දත්ත නිරීක්ෂණය කිරීම සඳහා Hive පාරදත්ත අතිශයින් වැදගත් වේ. උපස්ථ සේවාදායකය නිතිපතා දත්ත අනුපිටපත් කරන අතර එමඟින් දත්ත නැතිවීමකදී එය ප්රතිසාධනය කළ හැකිය.
රියදුරු – HiveQL ප්රකාශයන් පාලකයක් ලෙස ක්රියා කරන ධාවකයක් විසින් ලබා ගනී. සැසි පිහිටුවීමෙන්, රියදුරු ප්රකාශය ක්රියාත්මක කිරීම ආරම්භ කරයි. එය විධායකයේ ආයුකාලය සහ ප්රගතිය නිරීක්ෂණය කරයි. HiveQL ප්රකාශයක් ක්රියාත්මක කිරීමේදී, ධාවකය අවශ්ය පාර-දත්ත සුරකියි. එය අඩු කිරීමේ ක්රියාවලියෙන් පසුව දත්ත හෝ විමසුම් ප්රතිඵල එකතු කිරීමේ ලක්ෂ්යයක් ලෙසද ක්රියා කරයි.
සම්පාදකයා - එය HiveQL විමසුම් සම්පාදනය ක්රියාත්මක කරයි. විමසුම දැන් ක්රියාත්මක කිරීමේ සැලැස්මක් බවට පරිවර්තනය කර ඇත. කාර්යයන් සැලැස්මේ ලැයිස්තුගත කර ඇත. විමසුම මගින් පරිවර්තනය කර ඇති පරිදි ප්රතිඵලය ලබා ගැනීමට MapReduce විසින් ගත යුතු පියවර ද එයට ඇතුළත් වේ. විමසුම Hive's compiler (AST) මගින් වියුක්ත සින්ටැක්ස් ගසක් බවට පරිවර්තනය කරයි. ගැළපුම සහ සම්පාදන-කාල දෝෂ (DAG) සඳහා පරීක්ෂා කිරීමෙන් පසු AST අධ්යක්ෂණය කරන ලද Acyclic ප්රස්තාරයකට පරිවර්තනය කරයි.
ප්රශස්තකරණය - එය ක්රියාත්මක කිරීමේ සැලැස්මේ විවිධ වෙනස්කම් සිදු කිරීමෙන් DAG ප්රශස්ත කරයි. එය සන්ධිවල නල මාර්ගයක් තනි සන්ධියකට හැරවීම වැනි වැඩිදියුණු කළ කාර්යක්ෂමතාව සඳහා පරිවර්තනයන් ඒකාබද්ධ කරයි. වේගය වැඩි දියුණු කිරීම සඳහා, ප්රශස්තකාරකය අඩු කිරීමේ මෙහෙයුමක් සිදු කිරීමට පෙර දත්තවලට පරිවර්තනයක් යෙදීම වැනි ක්රියාකාරකම් බෙදිය හැකිය.
ක්රියාත්මක කරන්නා - සම්පාදනය සහ ප්රශස්තකරණය අවසන් වූ විට ක්රියාත්මක කරන්නා කාර්යයන් ක්රියාත්මක කරයි. රැකියා නල මාර්ගගත කරනු ලබන්නේ විධායකයා විසිනි.
CLI, UI, සහ සකසුරුවම් සේවාදායකය – විධාන රේඛා අතුරුමුහුණත (CLI) යනු බාහිර පරිශීලකයෙකුට Hive සමඟ සන්නිවේදනය කිරීමට ඉඩ සලසන පරිශීලක අතුරුමුහුණතකි. 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, cloud-පාදක Hadoop සේවාවක් ලෙස, වෙනස්වන වැඩ බර සපුරාලීම සඳහා අතථ්ය සේවාදායකයන් වේගයෙන් ඉහළට සහ පහළට කරකැවීමට පාරිභෝගිකයින්ට ඉඩ සලසයි.
- පුළුල් වැඩ කිරීමේ ධාරිතාව - විශාල දත්ත කට්ටල පැයකට විමසුම් 100,000ක් දක්වා හැසිරවිය හැක.
සීමාවන්
- සාමාන්යයෙන්, 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 Hadoop භාවිතා කරයි, එබැවින්:
- ඔබේ මාර්ගයේ Hadoop තිබිය යුතුය හෝ
3. DLL මෙහෙයුම
Hive Table නිර්මාණය කිරීම
තීරු දෙකක් සහිත pokes නමින් වගුවක් ජනනය කරයි, ඉන් පළමුවැන්න පූර්ණ සංඛ්යාවක් වන අතර දෙවැන්න තන්තුවකි.
වගු හරහා බ්රවුස් කිරීම
සියලුම වගු ලැයිස්තුගත කිරීම
වගු වෙනස් කිරීම සහ පහත දැමීම
වගු නම් වෙනස් කළ හැකි අතර තීරු එකතු කිරීමට හෝ ප්රතිස්ථාපනය කිරීමට හැකිය:
REPLACE COLUMNS මඟින් පවතින සියලුම තීරු ප්රතිස්ථාපනය කරන අතරම වගුවේ ව්යුහය පමණක් වෙනස් කරන අතර දත්ත වෙනස් කරන බව සඳහන් කිරීම වටී. වගුවේ දේශීය SerDe භාවිතා කළ යුතුය. වගුවක ක්රමයෙන් තීරු ඉවත් කිරීමට ද ප්රතිස්ථාපන තීරු භාවිතා කළ හැක:
මේස අතහැරීම
නිල වෙබ් අඩවියට පිවිසීමෙන් ඔබට ඉගෙන ගත හැකි Apache Hive හි බොහෝ අමතර මෙහෙයුම් සහ විශේෂාංග තිබේ.
නිගමනය
Hive නිර්වචනය යනු Apache Hadoop මත ගොඩනගා ඇති විශාල දත්ත කට්ටල සඳහා විමසීම් සහ විශ්ලේෂණය සඳහා දත්ත වැඩසටහන් අතුරුමුහුණතකි. එය ප්රධාන වශයෙන් Hive විස්තීර්ණ දත්ත සඳහා නිර්මාණය කර ඇති අතර භාවිතයට සරල බැවින් වෘත්තිකයන් වෙනත් වැඩසටහන්, මෙවලම් සහ මෘදුකාංගවලට වඩා එය තෝරා ගනී.
මෙම නිබන්ධනය ඔබට Apache Hive සමඟ කික්ස්ටාට් කිරීමට සහ ඔබේ කාර්ය ප්රවාහ වඩාත් කාර්යක්ෂම කිරීමට උපකාරී වේ යැයි සිතමු. අදහස් දැක්වීමේදී අපට දන්වන්න.
ඔබමයි