ஹடூப் ஸ்ட்ரீமிங்: பைத்தானில் ஒரு ஹடூப் மேப்ரூட் திட்டத்தை எழுதுதல்



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

டிஜிட்டல் மீடியா, இன்டர்நெட் ஆஃப் திங்ஸ் ஆகியவற்றின் வருகையுடன் ஒவ்வொரு நாளும் உருவாக்கப்படும் டிஜிட்டல் தரவின் அளவு அதிவேகமாக வளர்ந்து வருகிறது. இந்த தரவு இந்த தரவுகளை சேமித்து கையாள அடுத்த தலைமுறை கருவிகள் மற்றும் தொழில்நுட்பங்களை உருவாக்குவதில் சவால்களுக்கு வழிவகுத்துள்ளது. ஹடூப் ஸ்ட்ரீமிங் வருவது இங்குதான்! 2013 முதல் உலகில் ஆண்டுதோறும் உருவாக்கப்படும் தரவுகளின் வளர்ச்சியை சித்தரிக்கும் ஒரு வரைபடம் கீழே கொடுக்கப்பட்டுள்ளது. ஆண்டுதோறும் உருவாக்கப்படும் தரவுகளின் அளவு 2025 ஆம் ஆண்டில் 180 ஜெட்டாபைட்டுகளை எட்டும் என்று ஐடிசி மதிப்பிடுகிறது!

data-by-2025-hadoop-streaming





ஆதாரம்: ஐ.டி.சி.

ஐபிஎம் கூறுகிறது, ஒவ்வொரு நாளும், கிட்டத்தட்ட 2.5 குவிண்டிலியன் பைட்டுகள் தரவு உருவாக்கப்படுகின்றன, கடந்த இரண்டு ஆண்டுகளில் உலகின் 90 சதவீத தரவு உருவாக்கப்பட்டுள்ளது! அத்தகைய விரிவான தரவை சேமிப்பது ஒரு சவாலான பணியாகும். பாரம்பரிய நிறுவன தரவுக் கிடங்கைக் காட்டிலும் பெரிய அளவிலான கட்டமைக்கப்பட்ட மற்றும் கட்டமைக்கப்படாத தரவை ஹடூப் கையாள முடியும். கணினிகளின் விநியோகிக்கப்பட்ட கிளஸ்டர்களில் இந்த மகத்தான தரவுத் தொகுப்புகளை இது சேமிக்கிறது. ஹடூப் ஸ்ட்ரீமிங் MapReduce கட்டமைப்பைப் பயன்படுத்துகிறது, இது ஏராளமான தரவுகளை செயலாக்க பயன்பாடுகளை எழுத பயன்படுகிறது.



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

ஹடூப் ஸ்ட்ரீமிங் என்றால் என்ன?

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

SQL வினவல்களில் அறிக்கைகள் இருந்தால்

$ HADOOP_HOME / பின் / ஹடூப் ஜாடி $ HADOOP_HOME / hadoop-streaming.jar



-இன்புட் myInputDirs

-வெளியீடு myOutputDir

-ஃபோல்டர் / பின் / பூனை

-reducer / bin / wc

அளவுருக்கள் விளக்கம்:

பைதான் வரைபடக் குறியீடு:

mapper.py #! ) # வரியை சொற்களாகப் பிரிக்கவும், சொற்களில் சொற்களுக்கான பட்டியலாகவும் திரும்பவும்: # முடிவுகளை நிலையான வெளியீட்டிற்கு எழுதுங்கள் STDOUT '% s% s'% (சொல், 1)

తగ్గించும் .py

ஆபரேட்டர் இறக்குமதி உருப்படியிலிருந்து #! / usr / bin / python import sys () சொல், count = line.split ('', 1) முயற்சிக்கவும்: ValueError தவிர count = int (count): current_word == சொல் என்றால் தொடரவும் (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. கோப்பின் உள்ளடக்கத்தைக் காண்க.
    கட்டளை: பூனை file_name

> mapper.py இன் உள்ளடக்கம்

கட்டளை: பூனை mapper.py

> Redcer.py இன் உள்ளடக்கம்

கட்டளை: பூனை తగ్గించும் .py

உள்ளூர் கோப்புகளில் மேப்பர் மற்றும் ரிடூசரை இயக்கலாம் (எ.கா: word.txt). வரைபடத்தை இயக்குவதற்கும், ஹடூப் விநியோகிக்கப்பட்ட கோப்பு முறைமையை (HDFS) குறைப்பதற்கும், நமக்குத் தேவை ஹடூப் ஸ்ட்ரீமிங் ஜாடி. ஆகவே, எச்டிஎஃப்எஸ்ஸில் ஸ்கிரிப்ட்களை இயக்குவதற்கு முன்பு, அவை சிறப்பாக செயல்படுகின்றன என்பதை உறுதிப்படுத்த அவற்றை உள்நாட்டில் இயக்குவோம்.

> மேப்பரை இயக்கவும்

கட்டளை: பூனை சொல். txt | python mapper.py

> Redcer.py ஐ இயக்கவும்

கட்டளை: பூனை சொல். txt | python mapper.py | வரிசை -k1,1 | pythonduccer.py

மேப்பரும் குறைப்பான் எதிர்பார்த்தபடி செயல்படுவதை நாம் காணலாம், எனவே மேலதிக சிக்கல்களை நாங்கள் எதிர்கொள்ள மாட்டோம்.

இயங்கும் ஹடூப்பில் பைதான் குறியீடு

ஹடூப்பில் மேப் ரெட்யூஸ் பணியை இயக்குவதற்கு முன், உள்ளூர் தரவை (word.txt) HDFS க்கு நகலெடுக்கவும்

> எடுத்துக்காட்டு: hdfs dfs -put source_directory hadoop_destination_directory

கட்டளை: hdfs dfs -put /home/edureka/MapReduce/word.txt / பயனர் / எடுரேகா

ஜாடி கோப்பின் பாதையை நகலெடுக்கவும்

ஜாடியின் பதிப்பை அடிப்படையாகக் கொண்ட ஹடூப் ஸ்ட்ரீமிங் ஜாடியின் பாதை:

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

எனவே உங்கள் முனையத்தில் ஹடூப் ஸ்ட்ரீமிங் ஜாடியைக் கண்டுபிடித்து பாதையை நகலெடுக்கவும்.

சரம் வரிசை php ஆக மாற்றவும்

கட்டளை:

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

MapReduce வேலையை இயக்கவும்

கட்டளை:

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 /duccer.py -reducer reducer.py -input / user / edureka / word -output / user / edureka / Wordcount

ஹடூப் புள்ளிவிவரங்கள் மற்றும் தகவல்களுக்கான அடிப்படை வலை இடைமுகத்தை வழங்குகிறது. ஹடூப் கிளஸ்டர் இயங்கும்போது உலாவியில் http: // localhost: 50070 திறந்திருக்கும். ஹடூப் வலை இடைமுகத்தின் ஸ்கிரீன் ஷாட் இங்கே.

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

இந்த கட்டளையைப் பயன்படுத்தி முனையத்தில் வெளியீட்டைக் காணலாம்

கட்டளை: hadoop fs -cat / user / edureka / Wordcount / part-00000

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

தொழில் பயிற்சியாளர்களால் இணைந்து உருவாக்கப்பட்ட பிக் டேட்டா & ஹடூப் பற்றிய நேரடி மற்றும் பயிற்றுவிப்பாளரின் தலைமையிலான பாடத்திட்டத்தை எடுரேகா கொண்டுள்ளது.

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