அப்பாச்சி பன்றி யுடிஎஃப்: பகுதி 3 - ஸ்டோர் செயல்பாடுகள்



இந்த இடுகை அப்பாச்சி பன்றி யுடிஎஃப் - ஸ்டோர் செயல்பாடுகள் பற்றி விவரிக்கிறது. (அப்பாச்சி பன்றி யுடிஎஃப்: பகுதி 3). அப்பாச்சி பன்றி யு.டி.எஃப் இன் ஸ்டோர் செயல்பாடுகளைப் பாருங்கள்.

ஜாவாவில் முறை ஓவர்லோடிங் மற்றும் மேலெழுதும் வித்தியாசம்

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





ஸ்டோர்மெட்டாடேட்டா

இந்த இடைமுகத்தில் ஸ்கீமா மற்றும் புள்ளிவிவரங்களை சேமிக்க மெட்டாடேட்டா அமைப்புகளுடன் தொடர்பு கொள்ளும் முறைகள் உள்ளன. இந்த இடைமுகம் விருப்பமானது மற்றும் மெட்டாடேட்டாவை சேமிக்க வேண்டியிருந்தால் மட்டுமே செயல்படுத்தப்பட வேண்டும்.

ஸ்டோர்ஃபங்கில் மேலெழுதப்பட வேண்டிய முறைகள் கீழே விளக்கப்பட்டுள்ளன:



  • getOutputFormat ():

    ஸ்டோர் பயன்படுத்தும் OutputFormat ஐப் பெற இந்த முறை பிக் மூலம் அழைக்கப்படும். OutputFormat இல் உள்ள முறைகள் பிக் அதே முறையில் மற்றும் வரைபடத்தை குறைக்கும் ஜாவா திட்டத்தில் ஹடூப் போன்ற அதே சூழலில் அழைக்கப்படும். OutputFormat ஒரு ஹடூப் தொகுக்கப்பட்ட ஒன்றாகும் என்றால், செயல்படுத்தல் org.apache.hadoop.mapreduce இன் கீழ் புதிய API அடிப்படையிலான ஒன்றைப் பயன்படுத்த வேண்டும். இது தனிப்பயன் வெளியீட்டு வடிவமாக இருந்தால், புதிய ஏபிஐ பயன்படுத்தி org.apache.hadoop.mapreduce இன் கீழ் செயல்படுத்தப்பட வேண்டும். வெளியீட்டு இருப்பிடத்தை மேலே சரிபார்க்க OutputFormat இன் checkOutputSpecs () முறை பன்றியால் அழைக்கப்படும். வேலை தொடங்கப்படும் போது இந்த முறை ஹடூப் அழைப்பு வரிசையின் ஒரு பகுதியாக அழைக்கப்படும். எனவே சீரற்ற பக்க விளைவுகள் இல்லாமல் இந்த முறையை பல முறை அழைக்க முடியும் என்பதை செயல்படுத்தல்கள் உறுதிப்படுத்த வேண்டும்.

  • setStoreLocation ():

    கடையின் இருப்பிடத்தை கடைக்காரருடன் தொடர்புகொள்வதற்கு இந்த முறையை பிக் அழைக்கிறது. அதே தகவலை அடிப்படை வெளியீட்டு வடிவத்துடன் தொடர்பு கொள்ள ஸ்டோர் இந்த முறையைப் பயன்படுத்த வேண்டும். இந்த முறை பன்றியால் பல முறை அழைக்கப்படுகிறது. இந்த முறை பல முறை அழைக்கப்படுகிறது என்பதை நடைமுறைகள் கவனத்தில் கொள்ள வேண்டும் மற்றும் பல அழைப்புகள் காரணமாக சீரற்ற பக்க விளைவுகள் இல்லை என்பதை உறுதிப்படுத்த வேண்டும்.

  • readyToWrite ():

    புதிய API இல், ஸ்டோர்ஃபங்க் வழங்கிய OutputFormat மூலம் தரவை எழுதுவது. தயாரிப்பில் டோரைட் () இல், ஸ்டோர்ஃபங்க் வழங்கிய வெளியீட்டு வடிவத்துடன் தொடர்புடைய ரெக்கார்ட்ரைட்டர் ஸ்டோர்ஃபங்கிற்கு அனுப்பப்படுகிறது. புட்நெக்ஸ்ட் () இல் செயல்படுத்துவதன் மூலம் ரெக்கார்ட்ரைட்டரைப் பயன்படுத்தலாம், இது ரெக்கார்ட்ரைட்டர் எதிர்பார்க்கும் விதத்தில் தரவின் பதிவைக் குறிக்கும் ஒரு டூப்பிள் எழுத.

  • putNext ():

    புட்நெக்ஸ்ட் () இன் பொருள் மாறவில்லை, மேலும் அடுத்த டபுள் தரவை எழுத பிக் இயக்க நேரத்தால் அழைக்கப்படுகிறது - புதிய ஏபிஐயில், இந்த முறைதான் டூப்பிள் அவுட் எழுத அடிப்படை ரெக்கார்ட்ரைட்டரைப் பயன்படுத்தும்.

ஸ்டோர்ஃபங்கில் இயல்புநிலை நடைமுறைகள்:

  • setStoreFuncUDFContextSignature ():

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

  • relToAbsPathForStoreLocation ():

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

  • checkSchema ():

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

எடுத்துக்காட்டு நடைமுறைப்படுத்தல்:

எடுத்துக்காட்டில் ஸ்டோர் செயல்படுத்தல், வரி டிலிமிட்டருடன் உரை தரவிற்கான ஒரு ஸ்டோர் ஆகும்.
‘மற்றும்‘ ‘இயல்புநிலை புலம் டிலிமிட்டராக (கட்டமைப்பாளரில் வேறு புலம் டிலிமிட்டரைக் கடந்து செல்வதன் மூலம் அதை மீறலாம்) - இது பிக்கில் உள்ள தற்போதைய பிக்ஸ்டோரேஜ் ஸ்டோருக்கு ஒத்ததாகும். செயல்படுத்தல் ஏற்கனவே இருக்கும் ஹடூப் ஆதரவு OutputFormat - TextOutputFormat ஐ அடிப்படை OutputFormat ஆக பயன்படுத்துகிறது.

பொது வகுப்பு சிம்பிள் டெக்ஸ்ட்ஸ்டோரர் ஸ்டோர்ஃபங்க் {பாதுகாக்கப்பட்ட ரெக்கார்ட்ரைட்டர் எழுத்தாளர் = பூஜ்ய தனியார் பைட் புலம் ) if (delimiter.length () == 1) {this.fieldDel = (byte) delimiter.charAt (0)} else if (delimiter.length ()> 1delimiter.charAt (0) == '') {சுவிட்ச் ( delimiter.charAt (1)) {case 't': this.fieldDel = (byte) '' break case 'x': fieldDel = Integer.valueOf (delimiter.substring (2), 16) .byteValue () break case ' u ': this.fieldDel = Integer.valueOf (delimiter.substring (2)). byteValue () இயல்புநிலையை முறித்துக் கொள்ளுங்கள்: புதிய இயக்கநேர எக்ஸ்செப்ஷன் (' தெரியாத டிலிமிட்டர் '+ டிலிமிட்டர்) ஒற்றை எழுத்து ')}} ByteArrayOutputStream mOut = புதிய ByteArrayOutputStream (BUFFER_SIZE) public பொது வெற்றிட புட்நெக்ஸ்ட் (Tuple f) IOException ஐ வீசுகிறது {int sz = f.size ()

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

ஜாவாவில் பீன்ஸ் என்ன

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



அப்பாச்சி பன்றி யுடிஎஃப்: பகுதி 2
அப்பாச்சி பன்றி யுடிஎஃப்: பகுதி 1