پرتھویراج بوس نے تعاون کیا
سپارک تیز رفتار گنتی اور پیشہ ور افراد کی مانگ کے ل designed ڈیزائن کیا ہوا بجلی کا ایک تیز رفتار کلسٹر کمپیوٹنگ فریم ورک ہے آج مارکیٹ میں کافی ہے۔یہاں سپارارک میں ایک طاقتور API ہے جو ہے combineByKey .
API کا پیمانہ: org.apache.spark.PairRDDFunifications.combineByKey .
ازگر API: pyspark.RDD.combineByKey .
API تین کام کرتا ہے (جیسے لامبڈا تاثرات میں ازگر یا گمنام افعال میں سیڑھی ) ، یعنی ،
- کومبینر فنکشن بنائیں: ایکس
- قدر فعل کو ضم کریں: y
- کمبائنرز کو ضم کریں فنکشن: زیڈ
اور API فارمیٹ ہے combineByKey (x، y، z) .
آئیے ایک مثال (اسکیلہ میں) دیکھتے ہیں۔ مکمل اسکالا ماخذ پایا جاسکتا ہے یہاں .
ہمارا مقصد فی طالب علم اوسطا اسکور تلاش کرنا ہے۔
یہاں پلیس ہولڈر کلاس ہے اسکور ڈیٹیل مضامین کے اسکور کے ساتھ طلباء کا نام اسٹور کرنا۔
کچھ ٹیسٹ ڈیٹا تیار کیا جاتا ہے اور کلیدی جوڑی کی اقدار میں تبدیل ہوتا ہے جہاں key = طلباء کا نام اور ویلیو = اسکورڈیٹیل مثال.
پھر ہم ایک جوڑا RDD بناتے ہیں جیسا کہ ذیل میں کوڈ ٹکڑے میں دکھایا گیا ہے۔ صرف تجربہ کے ل I ، میں نے سائز 3 کا ایک ہیش پارٹیشنریٹر بنایا ہے ، لہذا تینوں پارٹیشنوں میں بالترتیب 2 ، 2 اور 4 اہم قدر کے جوڑے ہوں گے۔ اس حصے میں روشنی ڈالی گئی ہے جہاں ہم ہر ایک حص exploreہ کو تلاش کرتے ہیں۔
ازگر __init__ کلاس
اب ہم ہر پارٹیشن کو دریافت کرسکتے ہیں۔ پہلی لائن ہر ایک حصے کی لمبائی (ہر پارٹیشن کی کلید ویلیو جوڑوں کی تعداد) پرنٹ کرتی ہے اور دوسری لائن ہر پارٹیشن کے مندرجات پرنٹ کرتی ہے۔
اور یہاں آخری تحریک ہے جہاں ہم پارٹیشنز میں اسکورز کو یکجا کرنے کے بعد فی طالب علم اوسط سکور کی گنتی کرتے ہیں۔
مندرجہ بالا کوڈ کی روانی درج ذیل ہے…
پہلے ہمیں ایک کمبائنر فنکشن بنانے کی ضرورت ہے جو ہر پارٹیشن میں درپیش ہر کلیدی کے لئے بنیادی طور پر ایک ٹپل = (ویلیو ، 1) ہے۔ اس مرحلے کے بعد تقسیم میں ہر (کلیدی ، قدر) کی پیداوار (کلید ، (قدر ، 1)) ہے۔
اس کے بعد اگلی تکرار پر ہر پارٹی کے لئے ضم کرنے والے کامنر فنکشنس کو ضم کیا جاتا ہے۔ اس مرحلے کے بعد ہر (کلیدی ، (قدر ، 1)) کی پیداوار ہر تقسیم میں (کلیدی ، (کل ، گنتی)) ہے۔
آخر کار انضمام کرنے والا فنکشن ایگزیکٹرز میں موجود تمام پارٹیشنز کے پار تمام قدروں کو ملا دیتا ہے اور ڈیٹا کو ڈرائیور کو واپس بھیج دیتا ہے۔ اس مرحلے کے بعد ہر تقسیم کی (کلیدی ، (کل ، گنتی)) کی پیداوار ہوتی ہے
(کلیدی ، (ٹوٹل آؤٹ آرس پارٹیز ، گنتی آؤٹ آرس پارٹیز)))۔
نقشہ تبدیل
(key، tuple) = (کلیدی ، (ٹوٹل آؤٹ آرس پارٹیز ، گنتی آؤٹ آل پارٹیز))
اوسطا فی کلید کی گنتی کرنے کے لئے (کلیدی ، tuple._1 / tuple._2)۔
آخری سطر ڈرائیور کے اختتام پر تمام طلبا کے اوسط سکور کو پرنٹ کرتی ہے۔
ہمارے لئے ایک سوال ہے؟ ان کا تذکرہ سیکشن میں ذکر کریں اور ہم آپ کو واپس ملیں گے۔
متعلقہ اشاعت: