ہڈوپ اسٹریمنگ: ازگر میں ایک ہڈوپ میپ ریڈس پروگرام لکھنا



ہڈوپ اسٹریمنگ سے متعلق یہ بلاگ پوسٹ بائی ڈیٹا کی بھاری مقدار میں کارروائی کرنے کے لئے ازگر میں ہڈوپ میپریڈوسی پروگرام لکھنا سیکھنے کے لئے ایک قدم بہ قدم رہنما ہے۔

ڈیجیٹل ڈیٹا کی مقدار ہر روز پیدا ہوتی ہے جس میں ڈیجیٹل میڈیا ، انٹرنیٹ آف چیزوں کی آمد کے ساتھ ساتھ دیگر ترقیات بھی تیزی سے بڑھ رہی ہیں۔ اس منظر نامے نے ان اعداد و شمار کو ذخیرہ کرنے اور اس میں ہیرا پھیری کرنے کے ل next اگلی نسل کے اوزار اور ٹیکنالوجیز بنانے میں چیلنجوں کو جنم دیا ہے۔ ہڈوپ اسٹریمنگ اسی جگہ آتی ہے! ذیل میں ایک گراف دیا گیا ہے جس میں 2013 سے دنیا میں سالانہ پیدا ہونے والے اعداد و شمار کی نمو کی گئی ہے۔ IDC نے اندازہ لگایا ہے کہ سالانہ تیار کردہ ڈیٹا کی مقدار 2025 میں 180 زیٹا بائٹس تک پہنچ جائے گی!

data-by-2025-hadoop-streaming





ماخذ: IDC

آئی بی ایم نے بتایا ہے کہ ، ہر دن ، تقریبا دو اعشاریہ پانچ کوالٹی بائٹس ڈیٹا بنائے جاتے ہیں ، جس میں پچھلے دو سالوں میں دنیا کا 90 فیصد ڈیٹا تشکیل دیا گیا ہے! اتنا وسیع ڈیٹا کو محفوظ کرنا مشکل کام ہے۔ ہڈوپ روایتی انٹرپرائز ڈیٹا گودام کی نسبت زیادہ سنجیدگی سے ساختہ اور غیر ساختہ اعداد و شمار کو سنبھال سکتا ہے۔ یہ کمپیوٹرز کے تقسیم شدہ کلسٹروں میں یہ بے حد ڈیٹا سیٹ اسٹور کرتا ہے۔ ہڈوپ اسٹریمنگ میپریڈوس فریم ورک کا استعمال کرتی ہے جس کو استعمال کرکے ایپلی کیشنز کو تحریری طور پر استعمال کیا جاسکتا ہے تاکہ اعداد و شمار کی بہت زیادہ مقدار پر کارروائی ہوسکے۔



چونکہ میپریڈوش فریم ورک جاوا پر مبنی ہے ، لہذا آپ سوچ رہے ہوں گے کہ اگر کوئی ڈیولپر جاوا میں تجربہ نہیں رکھتا ہے تو وہ اس پر کیسے کام کرسکتا ہے۔ ٹھیک ہے ، ڈویلپرز اپنی پسند کی زبان کا استعمال کرتے ہوئے اور جاوا کے بارے میں زیادہ معلومات حاصل کیے بغیر ، میپر / ریڈوسر ایپلی کیشن لکھ سکتے ہیں ہڈوپ اسٹریمنگ نئے ٹولز یا ٹیکنالوجیز پر سوئچ کرنے کے بجائے سور اور Hive جیسی۔

ہڈوپ اسٹریم کیا ہے؟

ہڈوپ اسٹریمنگ ایک افادیت ہے جو ہڈوپ تقسیم کے ساتھ آتی ہے۔ اس کا استعمال بڑے اعداد و شمار کے تجزیہ کے لئے پروگراموں کو چلانے کے لئے کیا جاسکتا ہے۔ ہڈوپ اسٹریمنگ کو ازگر ، جاوا ، پی ایچ پی ، سکالا ، پرل ، یونکس اور بہت سی دوسری زبانوں کا استعمال کرکے کارکردگی کا مظاہرہ کیا جاسکتا ہے۔ افادیت ہمیں نقشہ بنانے / چلانے کی اجازت دیتا ہے / کسی بھی قابل عمل یا اسکرپٹ کے ذریعہ میپر اور / یا ریڈوسر کے ساتھ ملازمتیں کم کردیتی ہے۔ مثال کے طور پر:

$ HADOOP_Home / bin / hadoop jar $ HADOOP_HOME / hadoop -stream.jar



جاوا میں ٹاسٹرنگ کا طریقہ کیا ہے؟

ان پٹ میری ان پٹ ڈائرس

آؤٹ پٹ میرا آؤٹ پٹ ڈیر

فولڈر / بِن / بلی

-ڈریسر / بن / ڈبلیو سی

پیرامیٹرز کی تفصیل:

ازگر میپ ریڈوس کوڈ:

mapper.py #! / usr / bin / python Import sys #Word شمار مثال # ان پٹ sys.stdin میں لائن کے لئے معیاری ان پٹ STDIN سے آتا ہے: لائن = لائن.strip () # معروف اور ٹریلنگ وائٹ اسپیس الفاظ = لائن.اسپلٹ ( ) # لائن کو الفاظ میں تقسیم کریں اور الفاظ میں الفاظ کی فہرست کے طور پر واپسی کریں: # نتائج کو معیاری آؤٹ پٹ پر لکھیں STTOUT پرنٹ '٪ s٪ s'٪ (لفظ ، 1) # الفاظ کو داخل کریں

کم کریں

آپٹر امپورٹ آئٹمجیٹر سے #! / usr / bin / python Import sys # ایک لغت کا استعمال کرتے ہوئے الفاظ کو ان کی گنتی پر نقشہ لگاتے ہیں موجودہ_ مطلوبہ الفاظ = کوئی بھی موجودہ نہیں_کاؤنٹی = 0 لفظ = کوئی بھی # ان پٹ ایس ایس ڈی آئین سے نہیں آتا ہے۔ () لفظ ، گنتی = لائن۔اسپلٹ ('' ، 1) کوشش کریں: ویلیو ایرر کے علاوہ گنتی = انٹ (گنتی): جاری رکھیں اگر موجودہ_طالب == لفظ: کرنٹ_کاؤنٹی + = کاؤنٹ اور: اگر موجودہ_طالبہ: پرنٹ '٪ s٪ s'٪ (کرنٹ_ورڈ ، کرنٹ_کاؤنٹ) کرنٹ_کونٹ = گنتی کرنٹ_ورڈ = کلم اگر کرنٹ_ورڈ == لفظ: پرنٹ '٪ s٪ s'٪ (کرنٹ_ورڈ ، کرنٹ_کاؤنٹ)

رن:

  1. درج ذیل مواد کے ساتھ ایک فائل بنائیں اور اس کا نام word.txt رکھیں۔

بلی ماؤس شیر ہرن ٹائیگر شیر ہاتھی شیر ہرن

  1. اسی فولڈر میں جہاں اوپر کی فائل موجود ہے ، میں میپر پی پی اور کمر۔پیئر اسکرپٹس کاپی کریں۔

  1. ٹرمینل کھولیں اور فائل کی ڈائرکٹری کا پتہ لگائیں۔ کامانڈ: ls: ڈائریکٹری میں تمام فائلوں کی فہرست بنانا: ڈائریکٹری / فولڈر کو تبدیل کرنا

  1. فائل کا مواد دیکھیں۔
    کمانڈ: بلی فائل کا نام

> mapper.py کا مواد

کمانڈ: بلی mapper.py

> کو کم کرنے والا مواد کا مواد

کمانڈ: بلی کم کریں

ہم مقامی فائلوں پر میپر اور ریڈوسر چلا سکتے ہیں (جیسے: word.txt) نقشہ کو چلانے اور ہڈوپ تقسیم شدہ فائل سسٹم (ایچ ڈی ایف ایس) کو کم کرنے کے ل we ، ہمیں اس کی ضرورت ہے ہڈوپ اسٹریمنگ جار لہذا اس سے پہلے کہ ہم ایچ ڈی ایف ایس پر اسکرپٹ چلائیں ، انہیں مقامی طور پر چلائیں تاکہ یہ یقینی بنائے کہ وہ ٹھیک کام کر رہے ہیں۔

> میپر چلائیں

کمانڈ: بلی word.txt | ازگر mapper.py

> کم کریں

کمانڈ: بلی word.txt | ازگر mapper.py | چھانٹیں - K1،1 | ازگر کم کرنے والا

ہم دیکھ سکتے ہیں کہ میپر اور ریڈوسر توقع کے مطابق کام کر رہے ہیں لہذا ہمیں مزید کسی مسئلے کا سامنا نہیں کرنا پڑے گا۔

چل رہا ہے ہڈوپ پر ازگر کا کوڈ

ہڈوپ پر میپریڈس ٹاسک چلانے سے پہلے ، مقامی ڈیٹا (word.txt) کو ایچ ڈی ایف ایس میں کاپی کریں

> مثال کے طور پر: hdfs dfs -put ذریعہ_ڈائریکٹری 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

لہذا اپنے ٹرمینل پر ہڈوپ اسٹریمنگ جار تلاش کریں اور اس راہ کو کاپی کریں۔

کمانڈ:

ls /usr/lib/hadoop-2.2.0/ Share/hadoop/tools/lib/hadoop-streaming-2.2.0.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 / ایڈیورکا / کوئلیئرپیپی۔ڈیریسر کمکرپیپی ان پٹ / صارف / ایڈیورکا / ورڈ آؤٹ پٹ / صارف / ایڈیورکا / ورڈکاؤنٹ

ہڈوپ اعداد و شمار اور معلومات کے ل a ایک بنیادی ویب انٹرفیس فراہم کرتا ہے۔ جب ہڈوپ کلسٹر براؤزر میں کھلا HTTP: // لوکل ہوسٹ: 50070 چل رہا ہے۔ ہڈوپ ویب انٹرفیس کا اسکرین شاٹ یہاں ہے۔

اب فائل سسٹم کو براؤز کریں اور آؤٹ پٹ کو دیکھنے کے لئے تیار کردہ ورڈکاؤنٹ فائل کو تلاش کریں۔ اسکرین شاٹ کے نیچے ہے۔

ہم اس کمانڈ کا استعمال کرتے ہوئے ٹرمینل پر آؤٹ پٹ دیکھ سکتے ہیں

کمانڈ: hadoop Fs -cat / user / edureka / ورڈکاؤنٹ / حصہ -00000

اب آپ یہ سیکھ چکے ہیں کہ ہڈوپ اسٹریمنگ کا استعمال کرتے ہوئے ازگر میں لکھا گیا میپریڈس پروگرام کیسے چلائیں!

ایڈوریکا کے پاس بگ ڈیٹا اینڈ ہڈوپ پر براہ راست اور انسٹرکٹر کی زیرقیادت کورس ہے ، جسے صنعت کے پیشہ ور افراد کے تعاون سے بنایا گیا ہے۔

ہمارے لئے ایک سوال ہے؟ برائے کرم اس کا تذکرہ سیکشن میں ذکر کریں اور ہم آپ کو واپس ملیں گے۔