Hive એ વ્યવસાયમાં વ્યાપકપણે ઉપયોગમાં લેવાતું બિગ ડેટા એનાલિટિક્સ ટૂલ છે, અને જો તમે બિગ ડેટા માટે નવા હોવ તો તે શરૂ કરવા માટે એક અદ્ભુત સ્થળ છે. આ અપાચે મધપૂડો પાઠ અપાચે મધપૂડોની મૂળભૂત બાબતોમાંથી પસાર થાય છે, મધપૂડો શા માટે જરૂરી છે, તેની વિશેષતાઓ અને તમારે જે જાણવું જોઈએ તે બધું.
ચાલો પહેલા Hadoop ફ્રેમવર્ક સમજીએ કે જેના પર Apache Hive બનેલ છે.
અપાચે હેડોપ
Apache Hadoop એક મફત છે અને ખુલ્લા સ્ત્રોત ગીગાબાઈટ્સથી લઈને પેટાબાઈટ સુધીના મોટા ડેટાસેટ્સને સ્ટોર કરવા અને પ્રોસેસ કરવા માટેનું પ્લેટફોર્મ. Hadoop અસંખ્ય કોમ્પ્યુટરોનું ક્લસ્ટરીંગ કરીને ડેટાને સંગ્રહિત કરવા અને તેનું વિશ્લેષણ કરવા માટે એક મોટા કોમ્પ્યુટરની જરૂરિયાતને બદલે સમાંતરમાં વિશાળ ડેટાસેટ્સનું વિશ્લેષણ કરવાની મંજૂરી આપે છે.
MapReduce અને Hadoop વિતરિત ફાઇલ સિસ્ટમ બે ઘટકો છે:
- નકશો – MapReduce કોમોડિટી હાર્ડવેર ક્લસ્ટરો પર સંગઠિત, અર્ધ-સંરચિત અને અનસ્ટ્રક્ચર્ડ ડેટાના વિશાળ વોલ્યુમને હેન્ડલ કરવા માટે એક સમાંતર પ્રોગ્રામિંગ તકનીક છે.
- એચડીએફએસ - HDFS (Hadoop ડિસ્ટ્રિબ્યુટેડ ફાઇલ સિસ્ટમ) એ Hadoop ફ્રેમવર્ક ઘટક છે જે ડેટા સ્ટોર કરે છે અને પ્રક્રિયા કરે છે. તે ફોલ્ટ-ટોલરન્ટ ફાઇલ સિસ્ટમ છે જે પ્રમાણભૂત હાર્ડવેર પર ચાલે છે
Hadoop ઇકોસિસ્ટમમાં Sqoop, Pig અને Hive સહિત વિવિધ પેટા-પ્રોજેક્ટ્સ (ટૂલ્સ)નો ઉપયોગ Hadoop મોડ્યુલોને મદદ કરવા માટે થાય છે.
- મધપૂડો - Hive એ SQL-શૈલીની સ્ક્રિપ્ટો લખવા માટેનું માળખું છે જે MapReduce ગણતરીઓ કરે છે.
- પિગ - પિગ એ એક પ્રક્રિયાગત પ્રોગ્રામિંગ ભાષા છે જેનો ઉપયોગ MapReduce પ્રક્રિયાઓ માટે સ્ક્રિપ્ટ બનાવવા માટે થઈ શકે છે.
- સ્કૂપ – Sqoop HDFS અને RDBMS વચ્ચે ડેટા આયાત અને નિકાસ કરવા માટેનું એક સાધન છે.
શું છે અપાચે મધપૂડો?
Apache Hive એક ઓપન સોર્સ છે માહિતી વેરહાઉસ Apache Hadoop ડિસ્ટ્રિબ્યુટેડ ફાઇલ સિસ્ટમ (HDFS) અથવા Apache HBase જેવી અન્ય ડેટા સ્ટોરેજ સિસ્ટમ્સમાં સીધા સંગ્રહિત વિશાળ ડેટા સેટ વાંચવા, લખવા અને મેનેજ કરવા માટેનો પ્રોગ્રામ.
SQL ડેવલપર્સ ડેટા ક્વેરી અને વિશ્લેષણ માટે Hive ક્વેરી લેંગ્વેજ (HQL) સ્ટેટમેન્ટ બનાવવા માટે Hive નો ઉપયોગ કરી શકે છે જે નિયમિત SQL સ્ટેટમેન્ટ સાથે તુલનાત્મક છે. તે લાંબા જાવા કોડ શીખવાની અને લખવાની જરૂરિયાતને દૂર કરીને મેપરેડ્યુસ પ્રોગ્રામિંગને સરળ બનાવવા માટે બનાવવામાં આવ્યું હતું. તેના બદલે, તમે તમારી ક્વેરીઝ HQL માં લખી શકો છો, અને Hive નકશો બનાવશે અને તમારા માટેના કાર્યોમાં ઘટાડો કરશે.
Apache Hive નું SQL જેવું ઇન્ટરફેસ એડ-હોક શોધ કરવા, સારાંશ આપવા અને Hadoop ડેટાનું વિશ્લેષણ કરવા માટે ગોલ્ડ સ્ટાન્ડર્ડ બની ગયું છે. જ્યારે ક્લાઉડમાં સમાવેશ થાય છે કમ્પ્યુટિંગ નેટવર્ક્સ, આ સોલ્યુશન ખાસ કરીને ખર્ચ-અસરકારક અને સ્કેલેબલ છે, તેથી જ Netflix અને Amazon સહિતની ઘણી કંપનીઓ, Apache Hive વિકસાવવાનું અને સુધારવાનું ચાલુ રાખે છે.
ઇતિહાસ
ફેસબુકમાં તેમના સમય દરમિયાન, જોયદીપ સેન સરમા અને આશિષ થુસુએ અપાચે હાઇવને સહ-નિર્માણ કર્યું. તેઓ બંનેએ ઓળખ્યું કે Hadoopમાંથી સૌથી વધુ મેળવવા માટે, તેઓએ કેટલાક જટિલ Java Map-Reduce કાર્યો બનાવવા પડશે. તેઓએ ઓળખ્યું કે તેઓ તેમની ઝડપથી વિસ્તરતી એન્જિનિયરિંગ અને વિશ્લેષણાત્મક ટીમોને સમગ્ર કંપનીમાં Hadoopનો લાભ મેળવવા માટે જરૂરી કૌશલ્યો વિશે શિક્ષિત કરી શકશે નહીં. ઇજનેરો અને વિશ્લેષકો વારંવાર યુઝર ઇન્ટરફેસ તરીકે SQL નો ઉપયોગ કરે છે.
જ્યારે એસક્યુએલ વિશ્લેષણની મોટાભાગની જરૂરિયાતો પૂરી કરી શકે છે, ત્યારે વિકાસકર્તાઓએ હડુપની પ્રોગ્રામેબિલિટીને પણ સામેલ કરવાનો ઈરાદો રાખ્યો હતો. Apache Hive આ બે ઉદ્દેશ્યોમાંથી ઉદ્ભવ્યું: SQL-આધારિત ઘોષણાત્મક ભાષા કે જે વિકાસકર્તાઓને તેમની પોતાની સ્ક્રિપ્ટો અને પ્રોગ્રામ્સ લાવવા સક્ષમ બનાવે છે જ્યારે SQL પૂરતું ન હતું.
ડેટા-સંચાલિત સંસ્થાઓના નિર્માણને સરળ બનાવવા માટે કંપનીના તમામ ડેટાસેટ્સ વિશે કેન્દ્રીયકૃત મેટાડેટા (હેડૂપ-આધારિત) રાખવા માટે પણ તે વિકસાવવામાં આવ્યું હતું.
અપાચે મધપૂડો કેવી રીતે કામ કરે છે?
ટૂંકમાં, Apache Hive HiveQL (SQL જેવી) ભાષામાં લખેલા ઇનપુટ પ્રોગ્રામને એક અથવા વધુ Java MapReduce, Tez અથવા Spark કાર્યોમાં રૂપાંતરિત કરે છે. (આ તમામ એક્ઝેક્યુશન એન્જિન Hadoop YARN સાથે સુસંગત છે.) તે પછી, Apache Hive ડેટાને Hadoop ડિસ્ટ્રિબ્યુટેડ ફાઇલ સિસ્ટમ HDFS માટે કોષ્ટકોમાં ગોઠવે છે) અને જવાબ મેળવવા માટે ક્લસ્ટર પર કાર્યો કરે છે.
ડેટા
Apache Hive કોષ્ટકો એ જ રીતે ગોઠવવામાં આવે છે જે રીતે રિલેશનલ ડેટાબેઝમાં કોષ્ટકો ગોઠવવામાં આવે છે, જેમાં ડેટા એકમો મોટાથી નાના સુધીના કદમાં હોય છે. ડેટાબેઝ કોષ્ટકોથી બનેલા હોય છે જે વિભાગોમાં વહેંચાયેલા હોય છે, જે આગળ બકેટમાં વિભાજિત થાય છે. HiveQL (Hive Query Language) નો ઉપયોગ ડેટા એક્સેસ કરવા માટે થાય છે, જેને બદલી અથવા જોડી શકાય છે. કોષ્ટક ડેટા દરેક ડેટાબેઝમાં સીરીયલાઇઝ્ડ છે, અને દરેક કોષ્ટકની પોતાની HDFS ડિરેક્ટરી છે.
આર્કિટેક્ચર
હવે આપણે મધપૂડો આર્કિટેક્ચરના સૌથી મહત્વપૂર્ણ પાસાં વિશે વાત કરીશું. Apache Hive ના ઘટકો નીચે મુજબ છે:
મેટાસ્ટોર — તે દરેક કોષ્ટક વિશેની માહિતીનો ટ્રૅક રાખે છે, જેમ કે તેની રચના અને સ્થાન. પાર્ટીશન મેટાડેટા એ જ રીતે Hive માં સમાવવામાં આવેલ છે. આ ડ્રાઇવરને સમગ્ર ક્લસ્ટરમાં ફેલાયેલા વિવિધ ડેટા સેટની પ્રગતિ પર નજર રાખવાની મંજૂરી આપે છે. ડેટા પરંપરાગત RDBMS ફોર્મેટમાં સંગ્રહિત થાય છે. ડ્રાઇવર માટે ડેટાનો ટ્રેક જાળવવા માટે હાઇવ મેટાડેટા અત્યંત મહત્વપૂર્ણ છે. બેકઅપ સર્વર નિયમિત ધોરણે ડેટાને ડુપ્લિકેટ કરે છે જેથી કરીને ડેટા ખોવાઈ જવાની સ્થિતિમાં તેને પુનઃપ્રાપ્ત કરી શકાય.
ડ્રાઈવર - HiveQL સ્ટેટમેન્ટ ડ્રાઇવર દ્વારા પ્રાપ્ત થાય છે, જે કંટ્રોલર તરીકે કાર્ય કરે છે. સત્રોની સ્થાપના કરીને, ડ્રાઇવર નિવેદનના અમલની શરૂઆત કરે છે. તે એક્ઝિક્યુટિવના જીવનકાળ અને પ્રગતિ પર નજર રાખે છે. HiveQL સ્ટેટમેન્ટના અમલ દરમિયાન, ડ્રાઇવર જરૂરી મેટાડેટા સાચવે છે. તે ઘટાડાની પ્રક્રિયાને અનુસરીને ડેટા અથવા ક્વેરી પરિણામ એકત્ર કરવાના બિંદુ તરીકે પણ કામ કરે છે.
કમ્પાઇલર - તે HiveQL ક્વેરી સંકલન ચલાવે છે. ક્વેરી હવે એક્ઝેક્યુશન પ્લાનમાં કન્વર્ટ થઈ ગઈ છે. કાર્યો યોજનામાં સૂચિબદ્ધ છે. તેમાં તે પગલાં પણ શામેલ છે કે જે ક્વેરી દ્વારા અનુવાદિત કર્યા મુજબ પરિણામ મેળવવા માટે MapReduce એ લેવા જોઈએ. Hive's compiler (AST) દ્વારા ક્વેરી એબ્સ્ટ્રેક્ટ સિન્ટેક્સ ટ્રીમાં રૂપાંતરિત થાય છે. સુસંગતતા અને કમ્પાઇલ-ટાઇમ ફોલ્ટ (DAG) માટે તપાસ્યા પછી AST ને ડાયરેક્ટેડ એસાયક્લિક ગ્રાફમાં રૂપાંતરિત કરે છે.
.પ્ટિમાઇઝર - તે એક્ઝેક્યુશન પ્લાન પર વિવિધ ફેરફારો કરીને DAG ને ઑપ્ટિમાઇઝ કરે છે. તે સુધારેલ કાર્યક્ષમતા માટે પરિવર્તનને જોડે છે, જેમ કે જોડાવાની પાઇપલાઇનને એક જ જોડાણમાં ફેરવવી. ઝડપ સુધારવા માટે, ઑપ્ટિમાઇઝર પ્રવૃત્તિઓને વિભાજિત કરી શકે છે, જેમ કે ઘટાડો ઑપરેશન કરતાં પહેલાં ડેટામાં પરિવર્તન લાગુ કરવું.
એક્ઝિક્યુટર - જ્યારે સંકલન અને ઑપ્ટિમાઇઝેશન સમાપ્ત થાય ત્યારે એક્ઝિક્યુટર કાર્યોને ચલાવે છે. નોકરીઓ એક્ઝિક્યુટર દ્વારા પાઇપલાઇન કરવામાં આવે છે.
CLI, UI, અને થ્રીફ્ટ સર્વર - કમાન્ડ-લાઇન ઇન્ટરફેસ (CLI) એ એક વપરાશકર્તા ઇન્ટરફેસ છે જે બાહ્ય વપરાશકર્તાને Hive સાથે વાતચીત કરવાની મંજૂરી આપે છે. Hive નું કરકસર સર્વર, JDBC અથવા ODBC પ્રોટોકોલ્સ જેવું જ છે, જે બાહ્ય ક્લાયન્ટ્સને નેટવર્ક દ્વારા Hive સાથે વાતચીત કરવાની મંજૂરી આપે છે.
સુરક્ષા
Apache Hive Hadoop સુરક્ષા સાથે સંકલિત છે, જે ક્લાયંટ-સર્વર પરસ્પર પ્રમાણીકરણ માટે કર્બેરોસનો ઉપયોગ કરે છે. HDFS Apache Hive માં નવી જનરેટ કરેલી ફાઇલો માટે પરવાનગીઓ સૂચવે છે, જે તમને વપરાશકર્તા, જૂથ અને અન્ય લોકો દ્વારા મંજૂર કરવાની મંજૂરી આપે છે.
મુખ્ય વિશેષતાઓ
- મધપૂડો બાહ્ય કોષ્ટકોને સપોર્ટ કરે છે, જે તમને HDFS માં સ્ટોર કર્યા વિના ડેટા પર પ્રક્રિયા કરવા દે છે.
- તે ઝડપ વધારવા માટે ટેબલ લેવલ પર ડેટા સેગ્મેન્ટેશનને પણ સક્ષમ કરે છે.
- Apache Hive શ્રેષ્ઠ રીતે Hadoop ની નિમ્ન-સ્તરની ઇન્ટરફેસ જરૂરિયાતને પૂર્ણ કરે છે.
- મધપૂડો ડેટા સારાંશ, ક્વેરી અને વિશ્લેષણને સરળ બનાવે છે.
- HiveQL ને કોઈ પ્રોગ્રામિંગ કૌશલ્યની જરૂર નથી; SQL પ્રશ્નોની સરળ સમજ પૂરતી છે.
- અમે ડેટા પૃથ્થકરણ માટે એડ-હોક ક્વેરી કરવા માટે પણ Hive નો ઉપયોગ કરી શકીએ છીએ.
- તે માપી શકાય તેવું, પરિચિત અને સ્વીકાર્ય છે.
- HiveQL ને કોઈ પ્રોગ્રામિંગ કૌશલ્યની જરૂર નથી; SQL પ્રશ્નોની સરળ સમજ પૂરતી છે.
લાભો
Apache Hive દિવસના અંતના અહેવાલો, દૈનિક વ્યવહાર મૂલ્યાંકન, એડ-હોક શોધો અને ડેટા વિશ્લેષણ માટે પરવાનગી આપે છે. Apache Hive દ્વારા પૂરી પાડવામાં આવેલ વ્યાપક આંતરદૃષ્ટિ નોંધપાત્ર સ્પર્ધાત્મક લાભો આપે છે અને તમારા માટે બજારની માંગને પ્રતિસાદ આપવાનું સરળ બનાવે છે.
આવી માહિતી સહેલાઈથી ઉપલબ્ધ હોવાના કેટલાક ફાયદા અહીં છે:
- ઉપયોગની સરળતા - તેની SQL જેવી ભાષા સાથે, ક્વેરી ડેટા સમજવા માટે સરળ છે.
- એક્સિલરેટેડ ડેટા દાખલ — કારણ કે Apache Hive કોષ્ટક પ્રકાર અથવા સ્કીમા વ્યાખ્યાને ચકાસ્યા વિના સ્કીમા વાંચે છે, ડેટાને ડેટાબેઝના આંતરિક ફોર્મેટમાં ડિસ્કમાં વાંચવા, પદચ્છેદન અને શ્રેણીબદ્ધ કરવાની જરૂર નથી. તેનાથી વિપરીત, પરંપરાગત ડેટાબેઝમાં, જ્યારે પણ ડેટા ઉમેરવામાં આવે ત્યારે તે માન્ય હોવું આવશ્યક છે.
- શ્રેષ્ઠ માપનીયતા, સુગમતા અને ખર્ચ-અસરકારકતા - કારણ કે ડેટા HDFS માં સંગ્રહિત છે, Apache Hive 100s પેટાબાઇટ્સ ડેટાને પકડી શકે છે, જે તેને સામાન્ય ડેટાબેઝ કરતાં વધુ સ્કેલેબલ વિકલ્પ બનાવે છે. Apache Hive, ક્લાઉડ-આધારિત Hadoop સેવા તરીકે, ગ્રાહકોને બદલાતા વર્કલોડને પહોંચી વળવા વર્ચ્યુઅલ સર્વર્સને ઝડપથી ઉપર અને નીચે સ્પિન કરવાની મંજૂરી આપે છે.
- વ્યાપક કામ કરવાની ક્ષમતા - મોટા ડેટાસેટ્સ પ્રતિ કલાક 100,000 ક્વેરીઝ સુધી હેન્ડલ કરી શકે છે.
મર્યાદાઓ
- સામાન્ય રીતે, Apache Hive ક્વેરીઝમાં ખૂબ જ ઊંચી લેટન્સી હોય છે.
- સબક્વેરી સપોર્ટ મર્યાદિત છે.
- Apache Hive માં રીઅલ-ટાઇમ ક્વેરી અને પંક્તિ-સ્તરના ફેરફારો ઉપલબ્ધ નથી.
- ભૌતિક દૃષ્ટિકોણ માટે કોઈ સમર્થન નથી.
- મધપૂડોમાં, અપડેટ અને ડિલીટ ક્રિયાઓ સમર્થિત નથી.
- OLTP (ઓનલાઈન ટ્રાન્ઝિશનલ પ્રક્રિયા) માટે બનાવાયેલ નથી.
Apache Hive સાથે પ્રારંભ કરી રહ્યા છીએ
Apache Hive એક મજબૂત Hadoop ભાગીદાર છે જે તમારા વર્કફ્લોને સરળ અને સુવ્યવસ્થિત કરે છે. અપાચે મધપૂડોમાંથી સૌથી વધુ મેળવવા માટે, સીમલેસ એકીકરણ આવશ્યક છે. પ્રથમ પગલું એ પર જવાનું છે વેબસાઇટ.
1. સ્થિર પ્રકાશનમાંથી સ્થાપન મધપૂડો
અપાચે ડાઉનલોડ મિરર્સમાંથી એકમાંથી મધપૂડોની સૌથી તાજેતરની સ્થિર રિલીઝ ડાઉનલોડ કરીને પ્રારંભ કરો (જુઓ મધપૂડો રિલીઝ). પછી ટારબોલને અનપેક કરવું આવશ્યક છે. આ hive-xyz નામનું સબફોલ્ડર બનાવશે (જ્યાં xyz એ રિલીઝ નંબર છે):
ઇન્સ્ટોલેશન ડિરેક્ટરી તરફ નિર્દેશ કરવા માટે પર્યાવરણ ચલ HIVE_HOME સેટ કરો:
છેલ્લે, તમારામાં $HIVE_HOME/bin ઉમેરો PATH
:
2. મધપૂડો ચલાવવું
મધપૂડો Hadoop નો ઉપયોગ કરે છે, તેથી:
- તમારી પાસે તમારા પાથમાં Hadoop હોવો જોઈએ અથવા
3. DLL ઓપરેશન
મધપૂડો ટેબલ બનાવી રહ્યા છે
બે કૉલમ સાથે પોક્સ નામનું ટેબલ જનરેટ કરે છે, જેમાંથી પ્રથમ પૂર્ણાંક છે અને બીજો સ્ટ્રિંગ છે.
કોષ્ટકો દ્વારા બ્રાઉઝિંગ
તમામ કોષ્ટકોની યાદી
કોષ્ટકો બદલવા અને છોડવા
કોષ્ટકના નામ બદલી શકાય છે અને કૉલમ ઉમેરી અથવા બદલી શકાય છે:
તે નોંધવું યોગ્ય છે કે REPLACE COLUMNS એ તમામ વર્તમાન કૉલમ્સને બદલે છે જ્યારે માત્ર કોષ્ટકની રચના બદલાય છે અને ડેટાને નહીં. કોષ્ટકમાં મૂળ SerDe નો ઉપયોગ કરવો આવશ્યક છે. REPLACE COLUMNS નો ઉપયોગ કોષ્ટકની સ્કીમામાંથી કૉલમ દૂર કરવા માટે પણ થઈ શકે છે:
ડ્રોપિંગ કોષ્ટકો
Apache Hive માં ઘણા વધારાના ઓપરેશન્સ અને સુવિધાઓ છે જેના વિશે તમે સત્તાવાર વેબસાઇટની મુલાકાત લઈને જાણી શકો છો.
ઉપસંહાર
Hive ડેફિનેશન એ Apache Hadoop ની ટોચ પર બનેલા વિશાળ ડેટાસેટ્સ માટે ક્વેરી અને વિશ્લેષણ માટે ડેટા પ્રોગ્રામ ઇન્ટરફેસ છે. પ્રોફેશનલ્સ તેને અન્ય પ્રોગ્રામ્સ, ટૂલ્સ અને સૉફ્ટવેર પર પસંદ કરે છે કારણ કે તે મુખ્યત્વે Hive વ્યાપક ડેટા માટે રચાયેલ છે અને ઉપયોગમાં સરળ છે.
આશા છે કે આ ટ્યુટોરીયલ તમને Apache Hive સાથે કિકસ્ટાર્ટ કરવામાં અને તમારા વર્કફ્લોને વધુ કાર્યક્ષમ બનાવવામાં મદદ કરશે. અમને ટિપ્પણીઓમાં જણાવો.
એક જવાબ છોડો