ఈ బ్లాగులో, మేము దాని గురించి చర్చిస్తాము మ్యాప్ సైడ్ జాయిన్ మరియు సాధారణ చేరడం ఆపరేషన్ కంటే దాని ప్రయోజనాలు అందులో నివశించే తేనెటీగలు .ఇది అమలు చేయడానికి మీరు నేర్చుకోవలసిన ముఖ్యమైన భావన .కానీ దీని గురించి తెలుసుకునే ముందు, మనం మొదట భావనను అర్థం చేసుకోవాలి ‘చేరండి’ మరియు మేము చేరడానికి అంతర్గతంగా ఏమి జరుగుతుంది అందులో నివశించే తేనెటీగలు .
చేరండి ఇది రెండు పట్టికల (లేదా డేటా-సెట్స్) రికార్డులను మిళితం చేసే నిబంధన.
మనకు A మరియు B అనే రెండు పట్టికలు ఉన్నాయని అనుకోండి, మేము వాటిపై చేరడానికి ఆపరేషన్ చేసినప్పుడు, అది అన్ని నిలువు వరుసల కలయిక అయిన రికార్డులను తిరిగి ఇస్తుంది o f A మరియు B.
జావాలో లూప్ ప్రోగ్రామ్ కోసం
ఇప్పుడు ఒక ఉదాహరణతో సాధారణ చేరడం యొక్క కార్యాచరణను అర్థం చేసుకుందాం ..
ఎప్పుడైనా, మేము జాయిన్ ఆపరేషన్ను వర్తింపజేస్తే, ఉద్యోగం రెండు దశలను కలిగి ఉన్న మ్యాప్ తగ్గించే పనికి కేటాయించబడుతుంది- a ‘మ్యాప్ స్టేజ్ ’మరియు ఒక‘ దశను తగ్గించండి ’. మ్యాప్ దశలో మ్యాపర్ ఉద్యోగం 'చదవండి' చేరడానికి పట్టికలు మరియు నుండి డేటా “తిరిగి” ది ‘జాయిన్ కీ’ మరియు ‘విలువ చేరండి’ ఇంటర్మీడియట్ ఫైల్లో జత చేయండి. ఇంకా, షఫుల్ దశలో, ఈ ఇంటర్మీడియట్ ఫైల్ క్రమబద్ధీకరించబడుతుంది మరియు విలీనం చేయబడుతుంది. తగ్గించే దశలో తగ్గించేవారి పని ఏమిటంటే, ఈ క్రమబద్ధీకరించిన ఫలితాన్ని ఇన్పుట్గా తీసుకొని చేరే పనిని పూర్తి చేయడం.
మ్యాప్-సైడ్ జాయిన్ చేరడానికి సమానంగా ఉంటుంది, అయితే అన్ని పనులను మ్యాపర్ మాత్రమే చేస్తారు.
మ్యాప్-సైడ్ జాయిన్ విధిని ఆప్టిమైజ్ చేయడానికి చిన్న పట్టికలకు ఎక్కువగా అనుకూలంగా ఉంటుంది.
మ్యాప్-సైడ్ చేరడం విధిని ఎలా ఆప్టిమైజ్ చేస్తుంది?
మనకు రెండు పట్టికలు ఉన్నాయని అనుకోండి, వాటిలో ఒకటి చిన్న పట్టిక. మేము మ్యాప్ తగ్గించే పనిని సమర్పించినప్పుడు, అసలు చేరిక మ్యాప్ తగ్గించే పనికి ముందు మ్యాప్ తగ్గించే స్థానిక పని సృష్టించబడుతుంది, ఇది HDFS నుండి చిన్న పట్టిక యొక్క డేటాను చదివి దానిని మెమరీలో హాష్ పట్టికలో నిల్వ చేస్తుంది. చదివిన తరువాత, ఇది ఇన్-మెమరీ హాష్ పట్టికను హాష్ టేబుల్ ఫైల్గా సీరియల్ చేస్తుంది.
తదుపరి దశలో, అసలైన జాయిన్ మ్యాప్ తగ్గించే పని నడుస్తున్నప్పుడు, ఇది హాష్ టేబుల్ ఫైల్లోని డేటాను హడూప్ డిస్ట్రిబ్యూటెడ్ కాష్కు తరలిస్తుంది, ఇది ఈ ఫైళ్ళను ప్రతి మ్యాపర్ యొక్క స్థానిక డిస్క్కు పాపులేట్ చేస్తుంది. కాబట్టి అన్ని మాపర్లు ఈ నిరంతర హాష్ టేబుల్ ఫైల్ను తిరిగి మెమరీలోకి లోడ్ చేయవచ్చు మరియు మునుపటిలాగా చేరడానికి పని చేయవచ్చు. ఆప్టిమైజ్ చేసిన మ్యాప్ జాయిన్ యొక్క అమలు ప్రవాహం క్రింది చిత్రంలో చూపబడింది. ఆప్టిమైజేషన్ తరువాత, చిన్న పట్టికను ఒక్కసారి చదవాలి. ఒకే యంత్రంలో బహుళ మ్యాపర్లు నడుస్తుంటే, పంపిణీ చేసిన కాష్ హాష్ టేబుల్ ఫైల్ యొక్క ఒక కాపీని ఈ యంత్రానికి నెట్టడం అవసరం.
మ్యాప్ సైడ్ చేరడం యొక్క ప్రయోజనాలు:
- మ్యాప్-సైడ్ జాయిన్ లో క్రమబద్ధీకరించడానికి మరియు విలీనం చేయడానికి అయ్యే ఖర్చును తగ్గించడంలో సహాయపడుతుంది షఫుల్ మరియు తగ్గించండి దశలు.
- మ్యాప్-సైడ్ జాయిన్ కూడా పనిని పూర్తి చేయడానికి సమయాన్ని తగ్గించడం ద్వారా పనితీరును మెరుగుపరచడంలో సహాయపడుతుంది.
మ్యాప్-సైడ్ చేరడం యొక్క ప్రతికూలతలు:
- మీరు మ్యాప్-సైడ్ జాయిన్ ఆపరేషన్ చేసే పట్టికలలో ఒకటి మెమరీకి సరిపోయేంత చిన్నగా ఉన్నప్పుడు మాత్రమే మ్యాప్ సైడ్ జాయిన్ సరిపోతుంది. అందువల్ల రెండింటిలో భారీ డేటా ఉన్న పట్టికలలో మ్యాప్-సైడ్ జాయిన్ చేయడం సరైనది కాదు.
మ్యాప్ తగ్గించడానికి సరళమైన ఉదాహరణ చేరడానికి:
మనం రెండు పట్టికలను సృష్టిద్దాం:
- ఎంప : ఉద్యోగి పేరు, ఎంప్లాయీ ఐడి మరియు ఆమె చెందిన విభాగం వంటి ఉద్యోగి వివరాలను కలిగి ఉంటుంది.
- విభాగం: డిపార్ట్మెంట్ పేరు, డిపార్ట్మెంట్ ఐడి మరియు వంటి వివరాలను కలిగి ఉంటుంది.
సృష్టించిన పట్టికలలోకి డేటాను లోడ్ చేయడానికి క్రింది చిత్రంలో చూపిన విధంగా రెండు ఇన్పుట్ ఫైళ్ళను సృష్టించండి.
ఉద్యోగి. txt
dept.txt
ఇప్పుడు, డేటాను పట్టికలలోకి లోడ్ చేద్దాం.
ప్రదర్శిద్దాం మ్యాప్-సైడ్ చేరండి ప్రతి ఉద్యోగి పనిచేస్తున్న విభాగాల జాబితాను సేకరించేందుకు రెండు పట్టికలలో.
ఇక్కడ, ది రెండవ పట్టిక విభాగం ఒక చిన్న పట్టిక. గుర్తుంచుకోండి, ఎల్లప్పుడూ ఒక సంస్థలోని ఉద్యోగుల సంఖ్య కంటే విభాగం సంఖ్య తక్కువగా ఉంటుంది.
ఇప్పుడు సాధారణ తగ్గింపు-వైపు చేరడం సహాయంతో అదే పనిని చేద్దాం.
రెండు చేరికలను అమలు చేస్తున్నప్పుడు, మీరు రెండు తేడాలను కనుగొనవచ్చు:
మాప్-రిడ్యూన్ జాయిన్ సాధారణ జాయిన్లో తీసుకున్న సమయంతో పోల్చినప్పుడు తక్కువ సమయంలో పనిని పూర్తి చేసింది.
మ్యాప్-రిడెస్ట్ జాయిన్ ఏ రిడ్యూసర్ సహాయం లేకుండా తన పనిని పూర్తి చేసింది, అయితే సాధారణ జాయిన్ ఒక రిడ్యూసర్ సహాయంతో ఈ ఉద్యోగాన్ని అమలు చేసింది.
అందువల్ల, మ్యాప్ వైపు చేరండి తక్కువ వ్యవధిలో పనిని పూర్తి చేయడానికి పట్టికలలో ఒకటి జ్ఞాపకశక్తికి సరిపోయేంత చిన్నదిగా ఉన్నప్పుడు మీ ఉత్తమ పందెం.
లో రియల్ టైమ్ వాతావరణం , మీరు భారీ మొత్తంలో డేటాతో డేటా-సెట్లను కలిగి ఉంటారు. కాబట్టి డేటా-సెట్లలో ఒకటి చిన్న పరిమాణంలో ఉంటే విశ్లేషణ చేయడం మరియు డేటాను తిరిగి పొందడం చాలా సమయం పడుతుంది. అలాంటి సందర్భాలలో మ్యాప్-సైడ్ జాయిన్ తక్కువ సమయంలో పనిని పూర్తి చేయడానికి సహాయపడుతుంది.
హడూప్ నైపుణ్యం సాధించడానికి ఇంతకంటే మంచి సమయం ఎన్నడూ లేదు! ఎడురేకా ప్రత్యేకంగా క్యూరేటెడ్ బిగ్ డేటా మరియు హడూప్ కోర్సుతో ఇప్పుడే ప్రారంభించండి.
ప్రస్తావనలు:
https://www.facebook.com/notes/facebook-engineering/join-optimization-in-apache-hive/470667928919
సంబంధిత పోస్ట్లు:
జావా ప్యాకేజీని ఎలా సృష్టించాలి
7 మార్గాలు పెద్ద డేటా శిక్షణ మీ సంస్థను మార్చగలదు