அப்பாச்சி ஸ்பார்க் இணைத்தல் பைக்கி விளக்கினார்



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

பிருத்விராஜ் போஸ் வழங்கினார்

ஸ்பார்க் என்பது மின்னல் வேகமான கிளஸ்டர் கம்ப்யூட்டிங் கட்டமைப்பாகும், இது விரைவான கணக்கீடு மற்றும் தொழில் வல்லுநர்களுக்கான தேவைக்காக வடிவமைக்கப்பட்டுள்ளது இன்று சந்தையில் கணிசமாக உள்ளது.இங்கே ஸ்பார்க்கில் ஒரு சக்திவாய்ந்த API உள்ளது combByKey .





API அளவு: org.apache.spark.PairRDDFunctions.combineByKey .

பைதான் ஏபிஐ: pyspark.RDD.combineByKey .



ஏபிஐ மூன்று செயல்பாடுகளை எடுக்கும் (என லாம்ப்டா வெளிப்பாடுகள் இல் பைதான் அல்லது அநாமதேய செயல்பாடுகள் இல் ஏணி ), அதாவது,

  1. கூட்டு செயல்பாட்டை உருவாக்கவும்: x
  2. மதிப்பு செயல்பாட்டை ஒன்றிணைத்தல்: y
  3. இணைப்பிகளின் செயல்பாட்டை ஒன்றிணைத்தல்: z

மற்றும் API வடிவம் combByKey (x, y, z) .

ஜாவாவில் போஜோ என்றால் என்ன

ஒரு உதாரணத்தைப் பார்ப்போம் (ஸ்கலாவில்). முழு ஸ்கலா மூலத்தையும் காணலாம் இங்கே .



ஒரு மாணவருக்கு சராசரி மதிப்பெண் கண்டுபிடிப்பதே எங்கள் நோக்கம்.

இங்கே ஒரு ஒதுக்கிட வகுப்பு ஸ்கோர் டெடெயில் ஒரு பாடத்தின் மதிப்பெண்ணுடன் மாணவர்களின் பெயரை சேமித்தல்.

Scoredetail-spark-combinebykey

சில சோதனை தரவு உருவாக்கப்பட்டு முக்கிய-ஜோடி மதிப்புகளாக மாற்றப்படுகிறது key = மாணவர்களின் பெயர் மற்றும் மதிப்பு = ஸ்கோர் விவரம் உதாரணமாக.

கீழே உள்ள குறியீடு துண்டில் காட்டப்பட்டுள்ளபடி ஒரு ஜோடி RDD ஐ உருவாக்குகிறோம். சோதனைக்காக, நான் அளவு 3 இன் ஹாஷ் பகிர்வை உருவாக்கியுள்ளேன், எனவே மூன்று பகிர்வுகளும் முறையே 2, 2 மற்றும் 4 முக்கிய மதிப்பு ஜோடிகளைக் கொண்டிருக்கும். ஒவ்வொரு பகிர்வையும் நாம் ஆராயும் பிரிவில் இது சிறப்பிக்கப்படுகிறது.

இப்போது ஒவ்வொரு பகிர்வையும் ஆராயலாம். முதல் வரி ஒவ்வொரு பகிர்வின் நீளத்தையும் (ஒரு பகிர்வுக்கு முக்கிய மதிப்பு ஜோடிகளின் எண்ணிக்கை) அச்சிடுகிறது, இரண்டாவது வரி ஒவ்வொரு பகிர்வின் உள்ளடக்கங்களையும் அச்சிடுகிறது.

xml மற்றும் html க்கு என்ன வித்தியாசம்?

பகிர்வுகளில் மதிப்பெண்களை இணைத்த பின்னர் ஒரு மாணவருக்கு சராசரி மதிப்பெண்ணைக் கணக்கிடும் இறுதி இயக்கம் இங்கே.

மேலே உள்ள குறியீடு ஓட்டம் பின்வருமாறு…
முதலில் நாம் ஒரு கூட்டு செயல்பாட்டை உருவாக்க வேண்டும், இது ஒவ்வொரு பகிர்விலும் எதிர்கொள்ளும் ஒவ்வொரு விசைக்கும் ஒரு டுபில் = (மதிப்பு, 1) ஆகும். இந்த கட்டத்திற்குப் பிறகு ஒரு பகிர்வில் உள்ள ஒவ்வொரு (விசை, மதிப்பு) வெளியீடு (விசை, (மதிப்பு, 1)) ஆகும்.

அடுத்த மறு செய்கையில், ஒவ்வொரு விசைக்கும் ஒன்றிணைப்பு மதிப்பு செயல்பாட்டைப் பயன்படுத்தி ஒரு பகிர்வுக்கான கூட்டு செயல்பாடுகள் ஒன்றிணைக்கப்படுகின்றன. இந்த கட்டத்திற்குப் பிறகு ஒவ்வொரு பகிர்விலும் ஒவ்வொரு (விசை, (மதிப்பு, 1)) (விசை, (மொத்தம், எண்ணிக்கை)) வெளியீடு ஆகும்.

இறுதியாக ஒன்றிணைத்தல் செயல்பாடு செயல்பாட்டாளர்களில் உள்ள பகிர்வுகளில் உள்ள அனைத்து மதிப்புகளையும் ஒன்றிணைத்து தரவை இயக்கிக்கு அனுப்புகிறது. இந்த கட்டத்திற்குப் பிறகு ஒவ்வொரு பகிர்விற்கும் (விசை, (மொத்தம், எண்ணிக்கை)) வெளியீடு ஆகும்
(விசை, (totalAcrossAllPartitions, countAcrossAllPartitions)).

வரைபடம் மாற்றுகிறது
(key, tuple) = (விசை, (totalAcrossAllPartitions, countAcrossAllPartitions))
ஒரு விசையின் சராசரியைக் கணக்கிட (விசை, tuple._1 / tuple._2).

கடைசி வரி ஓட்டுநரின் முடிவில் உள்ள அனைத்து மாணவர்களுக்கும் சராசரி மதிப்பெண்களை அச்சிடுகிறது.

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

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

சக்தி இருவில் டாக்ஸ் என்றால் என்ன

ஸ்பார்க்கில் பகிர்வுகளை குறைத்தல்