హడూప్ స్ట్రీమింగ్: పైథాన్‌లో హడూప్ మ్యాప్‌రెడ్యూస్ ప్రోగ్రామ్ రాయడం



హడూప్ స్ట్రీమింగ్‌లోని ఈ బ్లాగ్ పోస్ట్ పెద్ద మొత్తంలో బిగ్ డేటాను ప్రాసెస్ చేయడానికి పైథాన్‌లో హడూప్ మ్యాప్‌రెడ్యూస్ ప్రోగ్రామ్‌ను రాయడం నేర్చుకోవడానికి ఒక దశల వారీ మార్గదర్శి.

ప్రతిరోజూ ఉత్పత్తి అయ్యే డిజిటల్ డేటా పరిమాణం డిజిటల్ మీడియా, ఇంటర్నెట్ ఆఫ్ థింగ్స్ రావడంతో విపరీతంగా పెరుగుతోంది. ఈ దృశ్యం ఈ డేటాను నిల్వ చేయడానికి మరియు మార్చటానికి తరువాతి తరం సాధనాలు మరియు సాంకేతికతలను రూపొందించడంలో సవాళ్లకు దారితీసింది. ఇక్కడే హడూప్ స్ట్రీమింగ్ వస్తుంది! 2013 నుండి ప్రపంచంలో ఏటా ఉత్పత్తి అయ్యే డేటా పెరుగుదలను వర్ణించే గ్రాఫ్ క్రింద ఇవ్వబడింది. ఐడిసి అంచనా ప్రకారం ఏటా సృష్టించబడిన డేటా మొత్తం 2025 లో 180 జెట్టాబైట్లకు చేరుకుంటుంది!

data-by-2025-hadoop-streaming





మూలం: ఐడిసి

గత రెండు సంవత్సరాల్లో ప్రపంచంలోని 90 శాతం డేటా సృష్టించబడిన ప్రతిరోజూ దాదాపు 2.5 క్విన్టిలియన్ బైట్ల డేటా సృష్టించబడుతుందని ఐబిఎం పేర్కొంది! ఇంత విస్తారమైన డేటాను నిల్వ చేయడం చాలా సవాలుతో కూడుకున్న పని. సాంప్రదాయ సంస్థ డేటా వేర్‌హౌస్ కంటే హడూప్ పెద్ద పరిమాణంలో నిర్మాణాత్మక మరియు నిర్మాణాత్మక డేటాను నిర్వహించగలదు. ఇది కంప్యూటర్ల పంపిణీ సమూహాలలో ఈ అపారమైన డేటా సెట్లను నిల్వ చేస్తుంది. హడూప్ స్ట్రీమింగ్ మ్యాప్‌రెడ్యూస్ ఫ్రేమ్‌వర్క్‌ను ఉపయోగిస్తుంది, ఇది అధిక మొత్తంలో డేటాను ప్రాసెస్ చేయడానికి అనువర్తనాలను వ్రాయడానికి ఉపయోగపడుతుంది.



మ్యాప్‌రెడ్యూస్ ఫ్రేమ్‌వర్క్ జావాపై ఆధారపడి ఉన్నందున, జావాలో అతనికి / ఆమెకు అనుభవం లేకపోతే డెవలపర్‌ దానిపై ఎలా పని చేయగలరని మీరు ఆలోచిస్తూ ఉండవచ్చు. బాగా, డెవలపర్లు తమ ఇష్టపడే భాషను ఉపయోగించి మరియు జావా గురించి పెద్దగా తెలియకుండా, ఉపయోగించి మాపర్ / రిడ్యూసర్ అప్లికేషన్‌ను వ్రాయగలరు హడూప్ స్ట్రీమింగ్ పిగ్ మరియు హైవ్ వంటి కొత్త సాధనాలు లేదా సాంకేతిక పరిజ్ఞానాలకు మారడం కంటే.

హడూప్ స్ట్రీమింగ్ అంటే ఏమిటి?

హడూప్ స్ట్రీమింగ్ అనేది హడూప్ పంపిణీతో వచ్చే యుటిలిటీ. పెద్ద డేటా విశ్లేషణ కోసం ప్రోగ్రామ్‌లను అమలు చేయడానికి దీనిని ఉపయోగించవచ్చు. పైథాన్, జావా, పిహెచ్‌పి, స్కాలా, పెర్ల్, యునిక్స్ మరియు మరెన్నో భాషలను ఉపయోగించి హడూప్ స్ట్రీమింగ్ చేయవచ్చు. మ్యాపర్ మరియు / లేదా రిడ్యూసర్‌గా ఏదైనా ఎక్జిక్యూటబుల్ లేదా స్క్రిప్ట్‌తో మ్యాప్ / ఉద్యోగాలను తగ్గించడానికి యుటిలిటీ అనుమతిస్తుంది. ఉదాహరణకి:

$ HADOOP_HOME / బిన్ / హడూప్ కూజా $ HADOOP_HOME / hadoop-streaming.jar



-ఇన్‌పుట్ myInputDirs

-అవుట్పుట్ myOutputDir

-ఫోల్డర్ / బిన్ / పిల్లి

-reducer / bin / wc

పారామితుల వివరణ:

పైథాన్ మ్యాప్‌రెడ్యూస్ కోడ్:

mapper.py #! / usr / bin / python import sys #Word Count Example # ఇన్పుట్ sys.stdin: line = line.strip () లోని లైన్ కోసం ప్రామాణిక ఇన్పుట్ STDIN నుండి వచ్చింది ) # పంక్తిని పదాలుగా విభజించి, పదాలలో పదానికి జాబితాగా తిరిగి వస్తుంది: # ఫలితాలను ప్రామాణిక అవుట్‌పుట్‌కు వ్రాయండి STDOUT '% s% s'% (పదం, 1) # పదాన్ని విడుదల చేయండి

తగ్గించేవాడు

ఆపరేటర్ దిగుమతి ఐటెమ్‌గేటర్ నుండి #! () పదం, కౌంట్ = లైన్. (current_word, current_count) current_count = current current_word = word if current_word == word: '% s% s'% (current_word, current_count)

రన్:

  1. కింది కంటెంట్‌తో ఫైల్‌ను సృష్టించి దానికి word.txt అని పేరు పెట్టండి.

పిల్లి ఎలుక సింహం జింక పులి సింహం ఏనుగు సింహం జింక

  1. పై ఫైల్ ఉన్న మాల్డర్.పి మరియు రిడ్యూసర్.పి స్క్రిప్ట్‌లను అదే ఫోల్డర్‌కు కాపీ చేయండి.

  1. టెర్మినల్ తెరిచి ఫైల్ యొక్క డైరెక్టరీని గుర్తించండి. కమాండ్: ls: డైరెక్టరీలో అన్ని ఫైళ్ళను జాబితా చేయడానికి: డైరెక్టరీ / ఫోల్డర్ మార్చడానికి

జావాలో శక్తికి సంఖ్యను ఎలా పెంచాలి
  1. ఫైల్ యొక్క కంటెంట్ చూడండి.
    ఆదేశం: పిల్లి ఫైల్_పేరు

> mapper.py యొక్క కంటెంట్

ఆదేశం: cat mapper.py

> Redcer.py యొక్క కంటెంట్

ఆదేశం: పిల్లి తగ్గించేవాడు

మేము స్థానిక ఫైళ్ళలో మాపర్ మరియు రిడ్యూసర్‌ను అమలు చేయవచ్చు (ఉదా: word.txt). మ్యాప్‌ను అమలు చేయడానికి మరియు హడూప్ డిస్ట్రిబ్యూటెడ్ ఫైల్ సిస్టమ్ (హెచ్‌డిఎఫ్‌ఎస్) ను తగ్గించడానికి, మనకు ఇది అవసరం హడూప్ స్ట్రీమింగ్ కూజా. కాబట్టి మేము స్క్రిప్ట్‌లను HDFS లో అమలు చేయడానికి ముందు, అవి బాగా పని చేస్తున్నాయని నిర్ధారించడానికి వాటిని స్థానికంగా అమలు చేద్దాం.

> మ్యాపర్‌ను అమలు చేయండి

ఆదేశం: పిల్లి పదం. txt | python mapper.py

> Redcer.py ను అమలు చేయండి

ఆదేశం: పిల్లి పదం. txt | పైథాన్ mapper.py | sort -k1,1 | పైథాన్ తగ్గించేవాడు

మాపర్ మరియు రిడ్యూసర్ expected హించిన విధంగా పనిచేస్తున్నాయని మేము చూడవచ్చు, అందువల్ల మేము తదుపరి సమస్యలను ఎదుర్కోము.

నడుస్తోంది హడూప్ పైథాన్ కోడ్

మేము హడూప్‌లో మ్యాప్‌రెడ్యూస్ టాస్క్‌ను అమలు చేయడానికి ముందు, స్థానిక డేటాను (word.txt) HDFS కు కాపీ చేయండి

> ఉదాహరణ: hdfs dfs -put source_directory hadoop_destination_directory

ఆదేశం: hdfs dfs -put /home/edureka/MapReduce/word.txt / user / edureka

కూజా ఫైల్ యొక్క మార్గాన్ని కాపీ చేయండి

కూజా యొక్క సంస్కరణ ఆధారంగా హడూప్ స్ట్రీమింగ్ కూజా యొక్క మార్గం:

/usr/lib/hadoop-2.2.X/share/hadoop/tools/lib/hadoop-streaming-2.2.X.jar

కాబట్టి మీ టెర్మినల్‌లో హడూప్ స్ట్రీమింగ్ కూజాను గుర్తించి, మార్గాన్ని కాపీ చేయండి.

ఆదేశం:

ls /usr/lib/hadoop-2.2.0/share/hadoop/tools/lib/hadoop-streaming-2.2.0.jar

మ్యాప్‌రెడ్యూస్ ఉద్యోగాన్ని అమలు చేయండి

ఆదేశం:

hadoop jar /usr/lib/hadoop-2.2.0/share/hadoop/tools/lib/hadoop-streaming-2.2.0.jar -file /home/edureka/mapper.py -mapper mapper.py -file / home / edureka / reducer.py -reducer reducer.py -input / user / edureka / word -output / user / edureka / Wordcount

హడూప్ గణాంకాలు మరియు సమాచారం కోసం ప్రాథమిక వెబ్ ఇంటర్‌ఫేస్‌ను అందిస్తుంది. హడూప్ క్లస్టర్ నడుస్తున్నప్పుడు బ్రౌజర్‌లో http: // localhost: 50070 తెరవండి. హడూప్ వెబ్ ఇంటర్ఫేస్ యొక్క స్క్రీన్ షాట్ ఇక్కడ ఉంది.

ఇప్పుడు ఫైల్సిస్టమ్ను బ్రౌజ్ చేయండి మరియు అవుట్పుట్ చూడటానికి సృష్టించబడిన వర్డ్ కౌంట్ ఫైల్ను కనుగొనండి. క్రింద స్క్రీన్ షాట్ ఉంది.

ఈ ఆదేశాన్ని ఉపయోగించి మనం టెర్మినల్ పై అవుట్పుట్ చూడవచ్చు

ఆదేశం: hadoop fs -cat / user / edureka / Wordcount / part-00000

హడూప్ స్ట్రీమింగ్ ఉపయోగించి పైథాన్‌లో వ్రాసిన మ్యాప్‌రెడ్యూస్ ప్రోగ్రామ్‌ను ఎలా అమలు చేయాలో మీరు ఇప్పుడు నేర్చుకున్నారు!

ఎడురేకాకు బిగ్ డేటా & హడూప్ పై లైవ్ మరియు బోధకుడు నేతృత్వంలోని కోర్సు ఉంది, దీనిని పరిశ్రమ అభ్యాసకులు సహ-సృష్టించారు.

మాకు ప్రశ్న ఉందా? దయచేసి దీన్ని వ్యాఖ్యల విభాగంలో పేర్కొనండి మరియు మేము మిమ్మల్ని సంప్రదిస్తాము.