ஹைவ் என்பது வணிகத்தில் பரவலாகப் பயன்படுத்தப்படும் பிக் டேட்டா அனலிட்டிக்ஸ் கருவியாகும், மேலும் நீங்கள் பிக் டேட்டாவுக்குப் புதியவராக இருந்தால், தொடங்குவதற்கு இது ஒரு அருமையான இடமாகும். இந்த அப்பாச்சி ஹைவ் பாடம் அப்பாச்சி ஹைவ் அடிப்படைகள், ஹைவ் ஏன் அவசியம், அதன் அம்சங்கள் மற்றும் நீங்கள் தெரிந்து கொள்ள வேண்டிய அனைத்தும்.
அப்பாச்சி ஹைவ் கட்டமைக்கப்பட்ட ஹடூப் கட்டமைப்பை முதலில் புரிந்துகொள்வோம்.
அப்பாச்சி ஹடூப்
அப்பாச்சி ஹடூப் ஒரு இலவச மற்றும் ஓப்பன் சோர்ஸ் ஜிகாபைட்கள் முதல் பெட்டாபைட்கள் வரையிலான பெரிய தரவுத்தொகுப்புகளைச் சேமித்து செயலாக்குவதற்கான தளம். தரவுகளைச் சேமித்து பகுப்பாய்வு செய்ய ஒரு பெரிய கணினி தேவைப்படுவதைக் காட்டிலும், பல கணினிகளை க்ளஸ்டரிங் செய்து, மகத்தான தரவுத்தொகுப்புகளை இணையாக பகுப்பாய்வு செய்ய ஹடூப் அனுமதிக்கிறது.
MapReduce மற்றும் Hadoop Distributed File System ஆகியவை இரண்டு கூறுகளாகும்:
- வரைபடம் – MapReduce என்பது கமாடிட்டி ஹார்டுவேர் கிளஸ்டர்களில் பெரிய அளவிலான ஒழுங்கமைக்கப்பட்ட, அரை-கட்டமைக்கப்பட்ட மற்றும் கட்டமைக்கப்படாத தரவுகளைக் கையாளுவதற்கான ஒரு இணையான நிரலாக்க நுட்பமாகும்.
- HDFS - HDFS (ஹடூப் விநியோகிக்கப்பட்ட கோப்பு முறைமை) என்பது தரவைச் சேமித்து செயலாக்கும் ஒரு ஹடூப் கட்டமைப்பின் கூறு ஆகும். இது நிலையான வன்பொருளில் இயங்கும் பிழை-சகிப்புத்தன்மை கொண்ட கோப்பு முறைமையாகும்
ஹடூப் சுற்றுச்சூழல் அமைப்பில் உள்ள ஸ்கூப், பிக் மற்றும் ஹைவ் உள்ளிட்ட பல்வேறு துணைத் திட்டங்கள் (கருவிகள்) ஹடூப் தொகுதிகளுக்கு உதவப் பயன்படுத்தப்படுகின்றன.
- ஹைவ் ஹைவ் என்பது MapReduce கணக்கீடுகளைச் செய்யும் SQL-பாணி ஸ்கிரிப்ட்களை எழுதுவதற்கான ஒரு கட்டமைப்பாகும்.
- பன்றி - பன்றி என்பது ஒரு செயல்முறை நிரலாக்க மொழியாகும், இது MapReduce செயல்முறைகளுக்கான ஸ்கிரிப்டை உருவாக்கப் பயன்படும்.
- ஸ்கூப் - Sqoop என்பது HDFS மற்றும் RDBMS இடையே தரவை இறக்குமதி செய்வதற்கும் ஏற்றுமதி செய்வதற்கும் ஒரு கருவியாகும்.
என்ன அப்பாச்சி ஹைவ்?
அப்பாச்சி ஹைவ் ஒரு திறந்த மூலமாகும் தரவு கிடங்கு Apache Hadoop Distributed File System (HDFS) அல்லது Apache HBase போன்ற பிற தரவு சேமிப்பக அமைப்புகளில் நேரடியாகச் சேமிக்கப்பட்ட பெரிய தரவுத் தொகுப்புகளைப் படிக்க, எழுத மற்றும் நிர்வகிப்பதற்கான நிரல்.
வழக்கமான SQL அறிக்கைகளுடன் ஒப்பிடக்கூடிய தரவு வினவல் மற்றும் பகுப்பாய்வுக்கான ஹைவ் வினவல் மொழி (HQL) அறிக்கைகளை உருவாக்க SQL டெவலப்பர்கள் ஹைவ்வைப் பயன்படுத்தலாம். நீண்ட ஜாவா குறியீட்டைக் கற்று எழுத வேண்டிய தேவையை நீக்கி, MapReduce நிரலாக்கத்தை எளிதாக்க இது உருவாக்கப்பட்டது. அதற்கு பதிலாக, நீங்கள் HQL இல் உங்கள் வினவல்களை எழுதலாம், மேலும் ஹைவ் வரைபடத்தை உருவாக்கி உங்களுக்கான செயல்பாடுகளை குறைக்கும்.
Apache Hive இன் SQL-போன்ற இடைமுகமானது தற்காலிகத் தேடல்களைச் செய்வதற்கும், சுருக்கப்படுத்துவதற்கும், ஹடூப் தரவை பகுப்பாய்வு செய்வதற்கும் தங்க தரநிலையாக மாறியுள்ளது. கிளவுட்டில் சேர்க்கப்படும் போது கணினி நெட்வொர்க்குகள், இந்த தீர்வு குறிப்பாக செலவு குறைந்த மற்றும் அளவிடக்கூடியது, அதனால்தான் நெட்ஃபிக்ஸ் மற்றும் அமேசான் உட்பட பல நிறுவனங்கள் அப்பாச்சி ஹைவ்வை தொடர்ந்து உருவாக்கி மேம்படுத்துகின்றன.
வரலாறு
அவர்கள் பேஸ்புக்கில் இருந்த காலத்தில், ஜாய்தீப் சென் சர்மா மற்றும் ஆஷிஷ் துசூ ஆகியோர் இணைந்து அப்பாச்சி ஹைவ்வை உருவாக்கினர். ஹடூப்பிலிருந்து அதிகப் பலன்களைப் பெற, அவர்கள் சில சிக்கலான ஜாவா மேப்-குறைப்பு பணிகளை உருவாக்க வேண்டும் என்பதை அவர்கள் இருவரும் உணர்ந்தனர். நிறுவனம் முழுவதும் ஹடூப்பைப் பயன்படுத்துவதற்குத் தேவையான திறன்கள் குறித்து விரைவாக விரிவடைந்து வரும் பொறியியல் மற்றும் பகுப்பாய்வுக் குழுக்களுக்கு அவர்களால் கல்வி கற்பிக்க முடியாது என்பதை அவர்கள் உணர்ந்தனர். பொறியாளர்கள் மற்றும் ஆய்வாளர்கள் SQL ஐ ஒரு பயனர் இடைமுகமாக அடிக்கடி பயன்படுத்தினர்.
SQL ஆனது பெரும்பாலான பகுப்பாய்வுத் தேவைகளைப் பூர்த்தி செய்ய முடியும் என்றாலும், டெவலப்பர்கள் ஹடூப்பின் நிரலாக்கத் திறனையும் இணைத்துக் கொள்ள எண்ணினர். அப்பாச்சி ஹைவ் இந்த இரண்டு நோக்கங்களில் இருந்து உருவானது: SQL-அடிப்படையிலான அறிவிப்பு மொழி, SQL போதுமானதாக இல்லாதபோது டெவலப்பர்கள் தங்கள் சொந்த ஸ்கிரிப்ட்கள் மற்றும் நிரல்களைக் கொண்டுவர உதவியது.
தரவு-உந்துதல் நிறுவனங்களின் கட்டுமானத்தை எளிதாக்க, நிறுவனத்தில் உள்ள அனைத்து தரவுத்தொகுப்புகளையும் பற்றிய மையப்படுத்தப்பட்ட மெட்டாடேட்டாவை (ஹடூப்-அடிப்படையிலான) வைத்திருக்கவும் இது உருவாக்கப்பட்டது.
அப்பாச்சி ஹைவ் எப்படி வேலை செய்கிறது?
சுருக்கமாக, HiveQL (SQL போன்ற) மொழியில் எழுதப்பட்ட உள்ளீட்டு நிரலை ஒன்று அல்லது அதற்கு மேற்பட்ட Java MapReduce, Tez அல்லது Spark பணிகளாக Apache Hive மாற்றுகிறது. (இந்த எக்ஸிகியூஷன் எஞ்சின்கள் அனைத்தும் ஹடூப் YARN உடன் இணக்கமாக இருக்கும்.) அதன் பிறகு, அப்பாச்சி ஹைவ் தரவுகளை ஹடூப் விநியோகிக்கப்பட்ட கோப்பு முறைமை HDFSக்கான டேபிள்களில் வரிசைப்படுத்துகிறது) மற்றும் பதில்களைப் பெற ஒரு கிளஸ்டரில் பணிகளைச் செய்கிறது.
தேதி
Apache Hive அட்டவணைகள், ஒரு தொடர்புடைய தரவுத்தளத்தில் உள்ள அட்டவணைகள் ஒழுங்கமைக்கப்பட்டதைப் போலவே வரிசைப்படுத்தப்பட்டுள்ளன, தரவு அலகுகள் பெரியது முதல் சிறியது வரை இருக்கும். தரவுத்தளங்கள் அட்டவணைகளால் ஆனது, அவை பிரிவுகளாக பிரிக்கப்படுகின்றன, அவை மேலும் வாளிகளாக பிரிக்கப்படுகின்றன. HiveQL (Hive Query Language) தரவை அணுக பயன்படுகிறது, அதை மாற்றலாம் அல்லது இணைக்கலாம். ஒவ்வொரு தரவுத்தளத்திலும் அட்டவணை தரவு வரிசைப்படுத்தப்படுகிறது, மேலும் ஒவ்வொரு அட்டவணைக்கும் அதன் சொந்த HDFS கோப்பகம் உள்ளது.
கட்டிடக்கலை
இப்போது நாம் ஹைவ் கட்டிடக்கலையின் மிக முக்கியமான அம்சத்தைப் பற்றி பேசுவோம். அப்பாச்சி ஹைவின் கூறுகள் பின்வருமாறு:
மெட்டாஸ்டோர் — இது ஒவ்வொரு அட்டவணையையும் அதன் அமைப்பு மற்றும் இருப்பிடம் போன்ற தகவல்களைக் கண்காணிக்கும். பகிர்வு மெட்டாடேட்டாவும் ஹைவில் சேர்க்கப்பட்டுள்ளது. இது கிளஸ்டர் முழுவதும் பரவியுள்ள பல்வேறு தரவுத் தொகுப்புகளின் முன்னேற்றத்தைக் கண்காணிக்க இயக்கியை அனுமதிக்கிறது. தரவு வழக்கமான RDBMS வடிவத்தில் சேமிக்கப்படுகிறது. தரவைக் கண்காணிக்க இயக்கிக்கு ஹைவ் மெட்டாடேட்டா மிகவும் முக்கியமானது. காப்புப்பிரதி சேவையகம் தரவை ஒரு வழக்கமான அடிப்படையில் நகலெடுக்கிறது, இதனால் தரவு இழப்பு ஏற்பட்டால் அதை மீட்டெடுக்கலாம்.
இயக்கி - HiveQL அறிக்கைகள் ஒரு இயக்கி மூலம் பெறப்படுகின்றன, இது ஒரு கட்டுப்படுத்தியாக செயல்படுகிறது. அமர்வுகளை நிறுவுவதன் மூலம், இயக்கி அறிக்கையின் செயல்பாட்டைத் தொடங்குகிறார். இது நிர்வாகியின் ஆயுட்காலம் மற்றும் முன்னேற்றத்தைக் கண்காணிக்கும். HiveQL அறிக்கையை செயல்படுத்தும் போது, இயக்கி தேவையான மெட்டாடேட்டாவைச் சேமிக்கிறது. குறைத்தல் செயல்முறையைத் தொடர்ந்து இது தரவு அல்லது வினவல் முடிவு சேகரிக்கும் புள்ளியாகவும் செயல்படுகிறது.
கம்பைலர் - இது HiveQL வினவல் தொகுப்பை செயல்படுத்துகிறது. வினவல் இப்போது செயல்படுத்தும் திட்டமாக மாற்றப்பட்டுள்ளது. பணிகள் திட்டத்தில் பட்டியலிடப்பட்டுள்ளன. வினவல் மூலம் மொழிபெயர்க்கப்பட்ட முடிவைப் பெற MapReduce எடுக்க வேண்டிய படிகளும் இதில் அடங்கும். வினவல் ஹைவ்ஸ் கம்பைலரால் (AST) ஒரு சுருக்க தொடரியல் மரமாக மாற்றப்படுகிறது. இணக்கத்தன்மை மற்றும் தொகுக்கும் நேர தவறுகளை (DAG) சரிபார்த்த பிறகு, AST ஐ இயக்கிய அசைக்ளிக் வரைபடமாக மாற்றுகிறது.
Optimizer என்பது - இது செயல்படுத்தும் திட்டத்தில் வெவ்வேறு மாற்றங்களைச் செய்வதன் மூலம் DAG ஐ மேம்படுத்துகிறது. இணைப்புகளின் பைப்லைனை ஒற்றை இணைப்பாக மாற்றுவது போன்ற மேம்பட்ட செயல்திறனுக்கான மாற்றங்களை இது ஒருங்கிணைக்கிறது. வேகத்தை மேம்படுத்த, குறைப்பு செயல்பாட்டைச் செய்வதற்கு முன், தரவுக்கு மாற்றத்தைப் பயன்படுத்துதல் போன்ற செயல்பாடுகளை மேம்படுத்தி பிரிக்கலாம்.
நிறைவேற்றுபவராக - தொகுத்தல் மற்றும் தேர்வுமுறை முடிந்ததும், செயல்படுத்துபவர் பணிகளை இயக்குகிறார். வேலைகள் நிறைவேற்றுபவரால் பைப்லைன் செய்யப்படுகின்றன.
CLI, UI மற்றும் சிக்கன சேவையகம் – கட்டளை வரி இடைமுகம் (CLI) என்பது ஒரு பயனர் இடைமுகமாகும், இது வெளிப்புற பயனரை ஹைவ் உடன் தொடர்பு கொள்ள அனுமதிக்கிறது. ஹைவின் சிக்கன சேவையகம், JDBC அல்லது ODBC நெறிமுறைகளைப் போன்றது, வெளிப்புற கிளையன்ட்கள் ஒரு நெட்வொர்க் வழியாக ஹைவ் உடன் தொடர்பு கொள்ள அனுமதிக்கிறது.
பாதுகாப்பு
Apache Hive ஹடூப் பாதுகாப்புடன் ஒருங்கிணைக்கப்பட்டுள்ளது, இது கிளையன்ட்-சர்வர் பரஸ்பர அங்கீகாரத்திற்காக Kerberos ஐப் பயன்படுத்துகிறது. HDFS ஆனது Apache Hive இல் புதிதாக உருவாக்கப்பட்ட கோப்புகளுக்கான அனுமதிகளை ஆணையிடுகிறது, இது பயனர், குழு மற்றும் பிறரால் அங்கீகரிக்க உங்களை அனுமதிக்கிறது.
முக்கிய அம்சங்கள்
- ஹைவ் வெளிப்புற அட்டவணைகளை ஆதரிக்கிறது, இது HDFS இல் தரவைச் சேமிக்காமல் செயலாக்க அனுமதிக்கிறது.
- வேகத்தை அதிகரிக்க அட்டவணை மட்டத்தில் தரவுப் பிரிவினையும் இது செயல்படுத்துகிறது.
- அப்பாச்சி ஹைவ் ஹடூப்பின் குறைந்த-நிலை இடைமுகத் தேவையை சிறப்பாக பூர்த்தி செய்கிறது.
- ஹைவ் தரவு சுருக்கம், வினவல் மற்றும் பகுப்பாய்வு ஆகியவற்றை எளிதாக்குகிறது.
- HiveQL க்கு எந்த நிரலாக்க திறன்களும் தேவையில்லை; SQL வினவல்களைப் பற்றிய எளிய புரிதல் போதுமானது.
- தரவு பகுப்பாய்விற்கான தற்காலிக வினவல்களை நடத்தவும் ஹைவ்வைப் பயன்படுத்தலாம்.
- இது அளவிடக்கூடியது, பழக்கமானது மற்றும் மாற்றியமைக்கக்கூடியது.
- HiveQL க்கு எந்த நிரலாக்க திறன்களும் தேவையில்லை; SQL வினவல்களைப் பற்றிய எளிய புரிதல் போதுமானது.
நன்மைகள்
Apache Hive ஆனது நாள் முடிவில் அறிக்கைகள், தினசரி பரிவர்த்தனை மதிப்பீடுகள், தற்காலிகத் தேடல்கள் மற்றும் தரவு பகுப்பாய்வு ஆகியவற்றை அனுமதிக்கிறது. Apache Hive வழங்கும் விரிவான நுண்ணறிவு குறிப்பிடத்தக்க போட்டி நன்மைகளை வழங்குவதோடு, சந்தை தேவைகளுக்கு நீங்கள் பதிலளிப்பதை எளிதாக்குகிறது.
அத்தகைய தகவல்களை உடனடியாகக் கிடைப்பதன் சில நன்மைகள் இங்கே:
- பயன்படுத்த எளிதாக – அதன் SQL போன்ற மொழி மூலம், வினவல் தரவு புரிந்து கொள்ள எளிதானது.
- துரிதப்படுத்தப்பட்ட தரவு செருகல் — Apache Hive அட்டவணை வகை அல்லது திட்ட வரையறையை சரிபார்க்காமல் ஸ்கீமாவைப் படிப்பதால், தரவுத்தளத்தின் உள் வடிவமைப்பில் தரவைப் படிக்கவோ, பாகுபடுத்தவோ, வரிசைப்படுத்தவோ தேவையில்லை. மாறாக, ஒரு வழக்கமான தரவுத்தளத்தில், தரவு ஒவ்வொரு முறை சேர்க்கப்படும்போதும் சரிபார்க்கப்பட வேண்டும்.
- உயர்ந்த அளவிடுதல், நெகிழ்வுத்தன்மை மற்றும் செலவு-செயல்திறன் - தரவு HDFS இல் சேமிக்கப்படுவதால், அப்பாச்சி ஹைவ் 100 பெட்டாபைட் தரவுகளை வைத்திருக்க முடியும், இது ஒரு பொதுவான தரவுத்தளத்தை விட மிகவும் அளவிடக்கூடிய விருப்பமாக அமைகிறது. Apache Hive, ஒரு கிளவுட்-அடிப்படையிலான ஹடூப் சேவையாக, மாறிவரும் பணிச்சுமைகளைச் சந்திக்க வாடிக்கையாளர்களை விர்ச்சுவல் சர்வர்களை விரைவாகச் சுழற்ற அனுமதிக்கிறது.
- விரிவான வேலை திறன் - பெரிய தரவுத்தொகுப்புகள் ஒரு மணி நேரத்திற்கு 100,000 வினவல்களைக் கையாளலாம்.
வரம்புகள்
- பொதுவாக, அப்பாச்சி ஹைவ் வினவல்கள் மிக அதிக தாமதத்தைக் கொண்டுள்ளன.
- துணை வினவல் ஆதரவு குறைவாக உள்ளது.
- நிகழ்நேர வினவல்கள் மற்றும் வரிசை-நிலை மாற்றங்கள் Apache Hive இல் இல்லை.
- பொருள்படுத்தப்பட்ட பார்வைகளுக்கு ஆதரவு இல்லை.
- ஹைவ், புதுப்பித்தல் மற்றும் நீக்குதல் நடவடிக்கைகள் ஆதரிக்கப்படாது.
- OLTP (ஆன்லைன் இடைநிலை செயல்முறை) க்காக அல்ல.
அப்பாச்சி ஹைவ் உடன் தொடங்குதல்
அப்பாச்சி ஹைவ் ஒரு வலுவான ஹடூப் கூட்டாளியாகும், இது உங்கள் பணிப்பாய்வுகளை எளிதாக்குகிறது மற்றும் நெறிப்படுத்துகிறது. அப்பாச்சி ஹைவ் மூலம் அதிகப் பலன்களைப் பெற, தடையற்ற ஒருங்கிணைப்பு அவசியம். முதல் படி செல்ல வேண்டும் வலைத்தளம்.
1. ஒரு நிலையான வெளியீட்டில் இருந்து ஹைவ் நிறுவுதல்
Apache பதிவிறக்க கண்ணாடிகளில் ஒன்றிலிருந்து ஹைவ் இன் மிக சமீபத்திய நிலையான வெளியீட்டைப் பதிவிறக்குவதன் மூலம் தொடங்கவும் (பார்க்க ஹைவ் வெளியீடுகள்) அதன் பிறகு தார்பாலை அவிழ்க்க வேண்டும். இது hive-xyz எனப்படும் துணைக் கோப்புறையை உருவாக்கும் (xyz என்பது வெளியீட்டு எண்):
சூழல் மாறி HIVE_HOME ஐ நிறுவல் கோப்பகத்திற்குச் சுட்டி அமைக்கவும்:
இறுதியாக, உங்களில் $HIVE_HOME/bin ஐச் சேர்க்கவும் PATH
:
2. ஹைவ் இயங்கும்
ஹைவ் ஹடூப்பைப் பயன்படுத்துகிறது, எனவே:
- உங்கள் பாதையில் ஹடூப் இருக்க வேண்டும் அல்லது
3. DLL செயல்பாடு
ஹைவ் டேபிளை உருவாக்குதல்
இரண்டு நெடுவரிசைகளுடன் போக்ஸ் என்ற அட்டவணையை உருவாக்குகிறது, அதில் முதலாவது முழு எண் மற்றும் இரண்டாவது சரம்.
அட்டவணைகள் மூலம் உலாவுதல்
அனைத்து அட்டவணைகளையும் பட்டியலிடுதல்
அட்டவணைகளை மாற்றுதல் மற்றும் கைவிடுதல்
அட்டவணையின் பெயர்களை மாற்றலாம் மற்றும் நெடுவரிசைகளைச் சேர்க்கலாம் அல்லது மாற்றலாம்:
REPLACE COLUMNS ஆனது தற்போதுள்ள எல்லா நெடுவரிசைகளையும் மாற்றுகிறது, அதே நேரத்தில் அட்டவணையின் கட்டமைப்பை மட்டுமே மாற்றுகிறது மற்றும் தரவை மாற்றாது. டேபிளில் ஒரு சொந்த SerDe பயன்படுத்தப்பட வேண்டும். REPLACE COLUMNS ஆனது அட்டவணையின் திட்டத்திலிருந்து நெடுவரிசைகளை அகற்றவும் பயன்படுத்தப்படலாம்:
ட்ராப்பிங் டேபிள்கள்
Apache Hive இல் பல கூடுதல் செயல்பாடுகள் மற்றும் அம்சங்கள் உள்ளன, அவற்றை அதிகாரப்பூர்வ இணையதளத்தைப் பார்வையிடுவதன் மூலம் நீங்கள் அறிந்து கொள்ளலாம்.
தீர்மானம்
ஹைவ் வரையறை என்பது அப்பாச்சி ஹடூப்பின் மேல் கட்டமைக்கப்பட்ட பெரிய தரவுத்தொகுப்புகளுக்கான வினவல் மற்றும் பகுப்பாய்வுக்கான தரவு நிரல் இடைமுகமாகும். வல்லுநர்கள் மற்ற நிரல்கள், கருவிகள் மற்றும் மென்பொருளை விட இதைத் தேர்வு செய்கிறார்கள், ஏனெனில் இது முக்கியமாக ஹைவ் விரிவான தரவுகளுக்காக வடிவமைக்கப்பட்டுள்ளது மற்றும் பயன்படுத்த எளிதானது.
இந்த டுடோரியல் அப்பாச்சி ஹைவ் மூலம் கிக்ஸ்டார்ட் செய்து உங்கள் பணிப்பாய்வுகளை மேலும் திறமையாக்க உதவும் என்று நம்புகிறேன். கருத்துகளில் எங்களுக்குத் தெரியப்படுத்துங்கள்.
ஒரு பதில் விடவும்