اپاچی چنگاری اسٹریمنگ میں مجموعی ریاست کی تبدیلی



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

پرتھویراج بوس نے تعاون کیا

اپنے پچھلے بلاگ میں میں نے اپاچی اسپارک اسٹریمنگ کے ونڈو تصور کو استعمال کرتے ہوئے ریاستی تبدیلیوں پر تبادلہ خیال کیا ہے۔ آپ اسے پڑھ سکتے ہیں یہاں .





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

چنگاری اسٹریمنگ میں ریاستی تبدیلی کی اقسام (جاری ہے ...)

> جمع ٹریکنگ

ہم نے استعمال کیا تھا کم کریں BYKeyAndWindow (…) کلیدوں کی حالتوں کو ٹریک کرنے کے لئے API ، تاہم کچھ خاص معاملات کے لئے ونڈو کی حدود ہیں۔ کیا ہوگا اگر ہم کلید کی حالت کو وقت ونڈو تک محدود رکھنے کے بجائے اس میں جمع کرنا چاہتے ہیں؟ اس صورت میں ہمیں استعمال کرنے کی ضرورت ہوگی اپ ڈیٹ اسٹیٹ بائکی (…) آگ



یہ API Spark 1.3.0 میں متعارف کرایا گیا تھا اور بہت مشہور رہا ہے۔ تاہم ، اس API کی کارکردگی میں کچھ حد تک اضافے ہیں ، وقت کے ساتھ ساتھ اس کی کارکردگی کم ہوتی جاتی ہے۔ میں نے اس API کا استعمال ظاہر کرنے کے لئے ایک نمونہ لکھا ہے۔ آپ کوڈ تلاش کرسکتے ہیں یہاں .

سپارک 1.6.0 نے ایک نیا API متعارف کرایا نقشہ کے ساتھ اسٹیٹ (…) جو کارکردگی کے اوور ہیڈس کو درپیش مسائل حل کرتا ہے اپ ڈیٹ اسٹیٹ بائکی (…) . اس بلاگ میں میں نے اپنے لکھے ہوئے نمونہ پروگرام کا استعمال کرتے ہوئے اس خاص API پر تبادلہ خیال کرنے جا رہا ہوں۔ آپ کوڈ تلاش کرسکتے ہیں یہاں .

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



نمونہ پروگرام میں ، ہم میزبان = لوکل ہوسٹ اور پورٹ = 9999 پر ساکٹ ٹیکسٹ اسٹریم سنتے ہیں۔ یہ آنے والے دھارے کو (الفاظ ، واقعات کی تعداد میں) ٹوکنائزائز کرتا ہے اور 1.6.0 API کا استعمال کرتے ہوئے لفظ کی گنتی کو ٹریک کرتا ہے۔ نقشہ کے ساتھ اسٹیٹ (…) . مزید برآں ، اپ ڈیٹس والی چابیاں استعمال کرکے ہٹا دی گئیں اسٹیٹ اسپیک ڈاٹ آؤٹ API۔ ہم ایچ ڈی ایف ایس میں چیک پوائنٹنگ کر رہے ہیں اور چیک پوائنٹ کا تعدد ہر 20 سیکنڈ میں ہے۔

HTML میں لائن بریک کیا ہے؟

آئیے پہلے اسپارک اسٹریمنگ سیشن بنائیں ،

Spark-streaming-session

ہم بناتے ہیں a چیک پوائنٹڈائر ایچ ڈی ایف ایس میں اور پھر آبجیکٹ کا طریقہ کال کریں getOrCreate (…) . getOrCreate API چیک کرتا ہے چیک پوائنٹڈائر یہ دیکھنے کے ل if کہ آیا کوئی سابقہ ​​ریاستیں بحال کرنے کے ل. ہیں ، اگر وہ موجود ہے ، تو وہ اسپارک اسٹریمنگ سیشن کو دوبارہ تخلیق کرتی ہے اور نئے اعداد و شمار کے ساتھ آگے بڑھنے سے قبل فائلوں میں محفوظ ڈیٹا سے چابیاں کی حالتوں کو اپ ڈیٹ کرتی ہے۔ بصورت دیگر یہ ایک نیا اسپارک اسٹریمنگ سیشن تشکیل دیتا ہے۔

getOrCreate چیک پوائنٹ ڈائریکٹری کا نام اور ایک فنکشن لیتا ہے (جس کا نام ہم نے رکھا ہے) createFunc ) جس کا دستخط ہونا چاہئے () => سلسلہ بندی کا متن .

آئیے اندر کوڈ کی جانچ کرتے ہیں createFunc .

لائن # 2: ہم ملازمت کے نام کے ساتھ ایک اسٹریمنگ سیاق و سباق تیار کرتے ہیں جس میں 'ٹیسٹ میپ ویتھ اسٹیٹ جاب' اور بیچ کا وقفہ = 5 سیکنڈ ہوتا ہے۔

لائن # 5: چوکی ڈائریکٹری مرتب کریں۔

لائن # 8: کلاس کا استعمال کرتے ہوئے ریاست کی تفصیلات طے کریں org.apache.streaming.StateSpec چیز. ہم نے پہلے اس فنکشن کو مرتب کیا جو ریاست کا پتہ لگائے گا ، پھر ہم نتیجے میں ہونے والی DStreams کے ل part پارٹیشنز کی تعداد طے کرتے ہیں جو بعد میں ہونے والی تبدیلیوں کے دوران بننے ہیں۔ آخر میں ہم نے ٹائم آؤٹ (30 سیکنڈ تک) طے کیا جہاں 30 سیکنڈ میں اگر کسی کلید کے بارے میں کوئی تازہ کاری موصول نہیں ہوئی تو کلیدی حالت کو حذف کردیا جائے گا۔

لائن 12 #: ساکٹ اسٹریم سیٹ اپ کریں ، آنے والے بیچ کے ڈیٹا کو چپٹا کریں ، کلیدی ویلیو جوڑی بنائیں ، کال کریں نقشہ کے ساتھ ، چیک پوائنٹ کا وقفہ 20s پر رکھیں اور آخر میں نتائج پرنٹ کریں۔

چنگاری فریم ورک کو th کہتے ہیں ای createFunc پچھلی قیمت اور موجودہ حالت والی ہر کلید کے ل. ہم رقم کا حساب کتاب کرتے ہیں اور ریاست کو مجموعی رقم کے ساتھ اپ ڈیٹ کرتے ہیں اور آخر میں ہم کلید کے لئے رقم واپس کردیتے ہیں۔

ازگر ڈیف __init__

گتوب ذرائع -> TestMapStateWithKey.scala ، ٹیسٹ اپڈیٹ اسٹیٹ بی کیی.سکالا

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

متعلقہ اشاعت:

اپاچی چنگاری اور اسکیلہ کے ساتھ شروعات کریں

چنگاری اسٹریمنگ میں ونڈوونگ کے ساتھ ریاستی تبدیلی