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



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

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

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





அதுவும் தற்காலிக சேமிப்பு கட்டாயமாகும் (பொருத்தமான சேமிப்பக மட்டத்துடன் தொடருங்கள்) RDD இல் அடிக்கடி செயல்கள் DAG ஐ மீண்டும் கணக்கிட ஸ்பார்க்கை கட்டாயப்படுத்தாது.இந்த வலைப்பதிவில் விவரிக்கப்பட்டுள்ள தலைப்புகள் அப்பாச்சி தீப்பொறி மற்றும் ஸ்கலா சான்றிதழ் ஆகியவற்றிற்கு அவசியமாக தேவை. இந்த வலைப்பதிவில் விவரிக்கப்பட்டுள்ள தலைப்புகள் அடிப்படையில் தேவை .

பகிர்வை ஏன் பயன்படுத்த வேண்டும்?

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



பணியாளர் முனைகளில் தரவை மாற்ற வேண்டிய மாற்றங்கள் பகிர்வுகளிலிருந்து பெரிதும் பயனடைகின்றன. இத்தகைய மாற்றங்கள் cogroup, groupWith, join, leftOuterJoin, rightOuterJoin, groupByKey, குறைக்க ByKey, combByKey மற்றும் தேடல் .

RDD விசை மதிப்பு அடிப்படையிலானதாக இருந்தால் பகிர்வுகள் கட்டமைக்கப்படுகின்றன.

பகிர்வின் பண்புகள்

  1. ஒரே பகிர்வில் உள்ள டுபில்கள் ஒரே இயந்திரத்தில் இருப்பது உறுதி.
  2. ஒரு கிளஸ்டரில் உள்ள ஒவ்வொரு முனையிலும் ஒன்றுக்கு மேற்பட்ட பகிர்வுகள் இருக்கலாம்.
  3. பகிர்வுகளின் மொத்த எண்ணிக்கை கட்டமைக்கக்கூடியது, இயல்பாகவே இது அனைத்து நிறைவேற்று முனைகளிலும் உள்ள மொத்த கோர்களின் எண்ணிக்கையாக அமைக்கப்படுகிறது.

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

ஸ்பார்க் இரண்டு வகையான பகிர்வுகளை ஆதரிக்கிறது,

ஸ்பைடர் பைதான் பயன்படுத்துவது எப்படி
  • ஹாஷ் பகிர்வு : ஜாவாவைப் பயன்படுத்துகிறது பொருள்.ஹாஷ்கோட் பகிர்வை தீர்மானிக்க முறை partition = key.hashCode ()% numPartitions.

hash-partitioning-demystifying-partitioning-in-spark



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

குறியீடு எடுத்துக்காட்டு

பணியாளர் முனைகளில் தரவை எவ்வாறு பகிர்வது என்பதற்கான எடுத்துக்காட்டைப் பார்ப்போம். முழு ஸ்கலா குறியீடு கிடைக்கிறது இங்கே .

12 ஆயக்கட்டுகளின் சில சோதனை தரவு இங்கே (டுபில்களாக),

அட்டவணை பயிற்சி படிப்படியாக

ஒரு உருவாக்க org.apache.spark.HashPartitioner அளவு 2 இன், விசைகளின் ஹாஷ் குறியீட்டின் அடிப்படையில் இந்த இரண்டு பகிர்வுகளிலும் விசைகள் பகிர்வு செய்யப்படும்.

பின்னர் நாம் ஜோடிகளை ஆய்வு செய்து பல்வேறு முக்கிய அடிப்படையிலான மாற்றங்களைச் செய்யலாம் foldByKey மற்றும் குறைக்க பைக்கே.

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

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

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

ஹடூப்பை மாஸ்டரிங் செய்த பிறகு நீங்கள் ஏன் தீப்பொறியைக் கற்றுக்கொள்ள வேண்டும்

அட்டவணை தரவு கலப்பு இடது சேர

அப்பாச்சி ஸ்பார்க் Vs ஹடூப் வரைபடம்