স্পার্ক একিউমুলেটর ব্যাখ্যা করেছেন: অ্যাপাচি স্পার্ক



এই অ্যাপাচি স্পার্ক ব্লগটি স্পার্কের সংগ্রহকারীদের বিস্তারিতভাবে ব্যাখ্যা করে। উদাহরণ সহ স্পার্ক সংগ্রহকারী ব্যবহার শিখুন। স্পার্ক সংগ্রহকারী হ্যাডোপ ম্যাপ্রেডুস কাউন্টারগুলির মতো।

পৃথ্বীরাজ বোস অবদান রেখেছেন

এখানে স্টার্কের একটি ব্লগ যা স্পার্ক সংগ্রহকারী সম্পর্কে আপনার জানা দরকার।সঙ্গে বেশিরভাগ তথ্যপ্রযুক্তি নিয়োগকারীরা একটি মূল দক্ষতা হওয়ায় এটি শিল্পে এর বৃদ্ধি এবং চাহিদা শুরু থেকেই তাত্পর্যপূর্ণ।





আহরণকারী কি?

একিউমুলেটরগুলি হল ভেরিয়েবল যা এক্সিকিউটারদের জুড়ে তথ্য একত্রিত করার জন্য ব্যবহৃত হয়। উদাহরণস্বরূপ, এই তথ্যটি ডেটা বা এপিআই রোগ নির্ণয়ের সাথে সম্পর্কিত হতে পারে যেমন কতগুলি রেকর্ড দূষিত হয় বা নির্দিষ্ট লাইব্রেরি এপিআই কতবার ডাকা হয়েছিল।

আমাদের কেন সঞ্চালক দরকার তা বোঝার জন্য আসুন একটি ছোট উদাহরণ দেখুন।



এখানে কেন্দ্রীয় কলকাতা অঞ্চল জুড়ে একটি চেইন স্টোরের লেনদেনের একটি কাল্পনিক লগ।

জাভা নিক্ষেপ এবং নিক্ষেপ মধ্যে পার্থক্য
logs-Spark-accumulators

4 টি ক্ষেত্র আছে,

ক্ষেত্র 1 -> শহর



ক্ষেত্র 2 -> লোকাল

ক্ষেত্র 3 -> বিক্রয় আইটেমের বিভাগ

ক্ষেত্র 4 -> বিক্রয় আইটেমের মান

তবে লগগুলি দূষিত হতে পারে। উদাহরণস্বরূপ, দ্বিতীয় লাইনটি একটি ফাঁকা রেখা, চতুর্থ লাইনটি কিছু নেটওয়ার্ক সমস্যা রিপোর্ট করে এবং শেষ অবধি শেষ লাইনটি শূন্যের বিক্রয় মূল্য দেখায় (যা ঘটতে পারে না!)।

ফাঁকা লগগুলির সংখ্যা (ফাঁকা লাইন), নেটওয়ার্ক ব্যর্থ হওয়া সংখ্যা, এমন কোনও পণ্য যার শ্রেণিভুক্ত নয় এমন এমনকি শূন্য বিক্রয় রেকর্ড করা হয়েছিল এমন কোনও পণ্য রেকর্ড করার জন্য আমরা লেনদেনের লগটি বিশ্লেষণ করতে সংযোজক ব্যবহার করতে পারি। সম্পূর্ণ নমুনা লগ পাওয়া যাবে এখানে
যেকোনো অপারেশনের ক্ষেত্রে আহরণকারী প্রযোজ্য,
1. পরিবর্তনমূলক -> f (x, y) = f (y, x) , এবং
2. সহযোগী -> f (f (x, y), z) = f (f (x, z), y) = f (f (y, z), x)
উদাহরণ স্বরূপ, যোগফল এবং সর্বাধিক ফাংশন উপরের শর্তগুলি সন্তুষ্ট যদিও গড় না.

জাভা প্যাকেজ কি

কেন স্পার্ক একিউমুলেটর ব্যবহার করবেন?

এখন কেন আমাদের সংগ্রহকারীর প্রয়োজন হয় এবং নীচের কোডে প্রদর্শিত ভেরিয়েবলগুলি কেন ব্যবহার করা যায় না।

উপরের কোডটিতে সমস্যাটি হ'ল ড্রাইভারটি যখন ভেরিয়েবলটি মুদ্রণ করে ফাঁকা লাইন এর মান শূন্য হবে। এর কারণ হ'ল যখন স্পার্ক এই কোডটি প্রতিটি নির্বাহকের কাছে প্রেরণ করে তখন ভেরিয়েবলগুলি সেই নির্বাহকের কাছে স্থানীয় হয়ে যায় এবং তার আপডেট হওয়া মানটি চালকের কাছে রিলে হয় না। এই সমস্যা এড়াতে আমাদের তৈরি করা দরকার ফাঁকা লাইন একটি সঞ্চালক যেমন প্রতিটি নির্বাহকের এই ভেরিয়েবলের সমস্ত আপডেটগুলি ড্রাইভারের কাছে রিলে করা হয় ed সুতরাং উপরের কোডটি লিখতে হবে,

এটি গ্যারান্টি দেয় যে সঞ্চালক ফাঁকা লাইন প্রতিটি নির্বাহক জুড়ে আপডেট করা হয় এবং আপডেটগুলি ড্রাইভারের কাছে ফিরে আসে।

উবুন্টু জন্য সেরা জাভা আদর্শ

আমরা নেটওয়ার্ক ত্রুটি বা শূন্য বিক্রয় মূল্য ইত্যাদির জন্য অন্যান্য কাউন্টারগুলি প্রয়োগ করতে পারি etc. অন্যান্য কাউন্টারগুলির বাস্তবায়নের সাথে সাথে পুরো উত্স কোডটি পাওয়া যাবে এখানে

হাদুপ ম্যাপ-হ্রাসের সাথে পরিচিত লোকেরা লক্ষ্য করবে যে স্পার্কের সংগ্রহকারী হাদুপের মানচিত্র-হ্রাস কাউন্টারগুলির মতো।

গুহা

সঞ্চালক ব্যবহার করার সময় কিছু সতর্কতা রয়েছে যা প্রোগ্রামার হিসাবে আমাদের সচেতন হওয়া দরকার,

  1. ভিতরে গণনা রূপান্তর অলসভাবে মূল্যায়ন করা হয়, সুতরাং যদি না একটি কর্ম আরডিডি-তে ঘটে রূপান্তর মৃত্যুদণ্ড কার্যকর করা হয় না এর ফলস্বরূপ, সংগ্রহকারীর অভ্যন্তরীণ ফাংশনগুলির মতো ব্যবহৃত হয় মানচিত্র () বা ছাঁকনি() কিছু না হলে মৃত্যুদন্ড কার্যকর করা হবে কর্ম আরডিডি তে ঘটবে।
  2. স্পার্ক সংগ্রহকারীদের আপডেট করার গ্যারান্টি দেয় ভিতরে ক্রিয়া শুধুমাত্র একবার । সুতরাং যদি কোনও কাজ পুনরায় শুরু করা হয় এবং বংশটি পুনরায় সংশোধন করা হয় তবে কেবল একবারই সঞ্চালক আপডেট করা হবে।
  3. স্পার্ক এর জন্য গ্যারান্টি দেয় না রূপান্তর । সুতরাং যদি কোনও কাজ পুনরায় চালু করা হয় এবং বংশটি পুনরায় সংশোধন করা হয়, যখন আহরণকারীরা একাধিকবার আপডেট হবে।

নিরাপদ দিকে থাকতে সর্বদা কেবল ক্রিয়াকলাপের অভ্যন্তরে সঞ্চয়কারী ব্যবহার করুন।
কোড এখানে এটি কীভাবে অর্জন করা যায় তার একটি সহজ তবে কার্যকর উদাহরণ দেখায়।
সংগ্রহকারী সম্পর্কিত আরও তথ্যের জন্য পড়ুন এই

আমাদের জন্য একটি প্রশ্ন আছে? তাদের মন্তব্য বিভাগে উল্লেখ করুন এবং আমরা আপনার কাছে ফিরে আসব।

সম্পর্কিত পোস্ট:

অ্যাপাচি স্পার্ক সংযুক্ত করে বাইকি ব্যাখ্যা করেছেন