பன்றி புரோகிராமிங்: எச்.டி.எஃப்.எஸ் பயன்முறையில் யு.டி.எஃப் உடன் அப்பாச்சி பன்றி ஸ்கிரிப்ட்



பன்றி புரோகிராமிங்: எச்.டி.எஃப்.எஸ் பயன்முறையில் யு.டி.எஃப் உடன் அப்பாச்சி பன்றி ஸ்கிரிப்ட். எச்டிஎஃப்எஸ் பயன்முறையில் யுடிஎஃப் உடன் அப்பாச்சி பிக் ஸ்கிரிப்டை இயக்க ஒரு வலைப்பதிவு இடுகை இங்கே ...

முந்தைய வலைப்பதிவு இடுகைகளில் எப்படி தொடங்குவது என்று பார்த்தோம் பன்றி நிரலாக்க மற்றும் ஸ்கிரிப்டிங் . ஒரு எழுத வேண்டிய படிகளைப் பார்த்தோம் HDFS பயன்முறையில் பன்றி ஸ்கிரிப்ட் மற்றும் யுடிஎஃப் இல்லாமல். இந்த தொடரின் மூன்றாம் பகுதியில் ஒரு பன்றி ஸ்கிரிப்டை எழுதுவதற்கான படிகளை நாங்கள் மதிப்பாய்வு செய்வோம் HDFS பயன்முறையில் UDF .

பன்றி உள்ளமைக்கப்பட்ட செயல்பாட்டின் செயல்பாட்டை விளக்குவதற்கு உள்ளமைக்கப்பட்ட செயல்பாடுகளை உருவாக்குவதன் மூலம் பிக் யுடிஎப்பை எவ்வாறு செயல்படுத்தலாம் என்பதை விளக்கினோம். சிறந்த விளக்கத்திற்கு, நாங்கள் இரண்டு உள்ளமைக்கப்பட்ட செயல்பாடுகளை எடுத்துள்ளோம். பன்றி ஸ்கிரிப்ட்டின் உதவியுடன் இதைச் செய்துள்ளோம்.





இங்கே, நாங்கள் ஒரு எடுத்துக்காட்டை எடுத்துள்ளோம், நாங்கள் யுடிஎஃப் (பயனர் வரையறுக்கப்பட்ட செயல்பாடுகள்) இரண்டையும் பயன்படுத்தினோம், அதாவது மேல் வழக்கில் ஒரு சரத்தை உருவாக்கி ஒரு மதிப்பை எடுத்து அதன் சக்தியை உயர்த்துவோம்.

இந்த எடுத்துக்காட்டில் நாம் பயன்படுத்தப் போகும் தரவுத்தொகுப்பு கீழே சித்தரிக்கப்பட்டுள்ளது:



table

எங்கள் நோக்கம் 1 வது நெடுவரிசை கடிதத்தை மேல் வழக்கில் உருவாக்கி 2 வது நெடுவரிசையின் சக்தியை 3 வது நெடுவரிசையின் மதிப்புடன் உயர்த்துவதாகும்.

ஒவ்வொரு யுடிஎப்பிற்கும் ஜாவா குறியீட்டை எழுதுவதன் மூலம் ஆரம்பிக்கலாம். தொகுப்பு பிழைகளைத் தவிர்க்க எங்கள் ஜாவா திட்டத்தில் 4 JAR களை உள்ளமைக்க வேண்டும்.
முதலில், நாங்கள் ஜாவா நிரல்களை உருவாக்குவோம், இரண்டும் கீழே கொடுக்கப்பட்டுள்ளன:



மேல்.ஜாவா

இறக்குமதி java.io.IOException இறக்குமதி org.apache.pig.EvalFunc இறக்குமதி org.apache.pig.data.Tuple import org.apache.pig.impl.util.WrappedIOException upSuppressWarnings ('deprecation') பொது வகுப்பு மேல் EvalFunc {பொது சரம் செயலாக்கம் (டூப்பிள் உள்ளீடு) IOException ஐ வீசுகிறது {if (input == null || input.size () == 0) பூஜ்ய முயற்சிக்குத் திரும்புக {string str = (string) input.get (0) str = str.toUpperCase () return str} catch (விதிவிலக்கு e) {வீசுதல் WrappedIOException.wrap ('பிடிபட்ட விதிவிலக்கு செயலாக்க உள்ளீட்டு வரிசை', இ)}}}

பவர்.ஜாவா

இறக்குமதி java.io.IOException இறக்குமதி org.apache.pig.EvalFunc இறக்குமதி org.apache.pig.PigWarning இறக்குமதி org.apache.pig.data. int base = (Integer) input.get (0) int exponent = (Integer) input.get (1) நீண்ட முடிவு = 1 / * அநேகமாக மிகவும் திறமையான முறை அல்ல ... * / for (int i = 0 i result) {// நாங்கள் நிரம்பி வழிந்தோம். ஒரு எச்சரிக்கை கொடுங்கள், ஆனால் ஒரு // விதிவிலக்கு எறிய வேண்டாம். எச்சரிக்கை ('வழிதல்!', PigWarning.TOO_LARGE_FOR_INT) // பூஜ்யமாகத் திரும்புவது நாம் தோல்வியுற்றதைக் குறிக்கும், ஆனால் // தொடர்ந்து செயல்படுத்த விரும்புகிறோம். பூஜ்யம்}} வருவாய் முடிவு} பிடி (விதிவிலக்கு இ) {// விதிவிலக்கு எறிவது பணி தோல்வியடையும். புதிய IOException ஐ எறியுங்கள் ('ஏதோ மோசமாக நடந்தது!', e)}}}

தொகுப்பு பிழைகளை நீக்க, நாம் கட்டமைக்க வேண்டும் 4 JAR கள் எங்கள் ஜாவா திட்டத்தில்.


JAR களைப் பதிவிறக்க பதிவிறக்க பொத்தானைக் கிளிக் செய்க

[பொத்தான்கள்

கிரகணத்தை எவ்வாறு அமைப்பது

இப்போது, ​​ஜாவா குறியீடுகளுக்கு JAR கோப்புகளை ஏற்றுமதி செய்கிறோம். JAR உருவாக்க பின்வரும் படிகளை சரிபார்க்கவும்.

இங்கே, நாங்கள் ஒரு நிரலுக்குக் காட்டியுள்ளோம், அடுத்த நிரலிலும் அதே வழியில் தொடரவும்.

JAR கள் மற்றும் உரை கோப்புகளை உருவாக்கிய பிறகு, எல்லா தரவையும் HDFS கிளஸ்டருக்கு நகர்த்தியுள்ளோம், இது பின்வரும் படங்களால் சித்தரிக்கப்படுகிறது:

எங்கள் தரவுத்தொகுப்பில், புலங்கள் கமா (,) பிரிக்கப்படுகின்றன.

சாஸ் ஒரு நிரலாக்க மொழி

கோப்பை நகர்த்திய பிறகு, .pig நீட்டிப்புடன் ஸ்கிரிப்டை உருவாக்கி, அனைத்து கட்டளைகளையும் அந்த ஸ்கிரிப்ட் கோப்பில் வைக்கிறோம்.

இப்போது முனையத்தில், PIG எனத் தட்டச்சு செய்து ஸ்கிரிப்ட் கோப்பின் பெயரைத் தொடர்ந்து பின்வரும் படத்தில் காட்டப்பட்டுள்ளது:

இங்கே, இது பன்றி ஸ்கிரிப்டை இயக்குவதற்கான வெளியீடு.

எங்களுக்கு ஒரு கேள்வி கிடைத்ததா? கருத்துகள் பிரிவில் அவற்றைக் குறிப்பிடவும், நாங்கள் உங்களைத் தொடர்புகொள்வோம்.

தொடர்புடைய இடுகைகள்:

அப்பாச்சி பன்றியில் யுடிஎஃப் உருவாக்க படிகள்

அப்பாச்சி ஹைவ் அறிமுகம்