স্পার্কে পার্টিশন নির্মূল করা



এই ব্লগটি আপনাকে স্পার্কে পার্টিশন, পার্টিশনের ধরণ এবং কী ভিত্তিক রূপান্তরগুলির জন্য কার্যকরকরণের গতি উন্নত করে তা সম্পর্কে আপনার যা জানা দরকার তা আপনাকে জানায়।

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

স্পার্কের স্থিতিস্থাপক বিতরণ ডেটাসেটস (প্রোগ্রামিং বিমূর্তি) অলসভাবে মূল্যায়ন করা হয় এবং রূপান্তরগুলি নির্দেশিত অ্যাসাইক্লিক গ্রাফ (ডিএজি) হিসাবে সংরক্ষণ করা হয়। সুতরাং আরডিডি-র প্রতিটি ক্রিয়া স্পার্ককে ডিএজি পুনর্নির্মাণ করবে। স্পার্কে এইভাবেই স্থিতিস্থাপকতা অর্জন করা হয় কারণ যদি কোনও শ্রমিক নোড ব্যর্থ হয় তবে ডিএজি কেবল পুনরায় সংশোধন করা দরকার।





ইহা ও ক্যাশে বাধ্যতামূলক (উপযুক্ত স্টোরেজ স্তরের সাথে অবিচল থাকে) আরডিডি যেমন আরডিডি-তে ঘন ঘন কাজ স্পার্ককে ডিএজি পুনরায় সংশোধন করতে বাধ্য করে না।এই ব্লগে অন্তর্ভুক্ত বিষয়গুলি অ্যাপাচি স্পার্ক এবং স্কালা শংসাপত্রের জন্য মূলত প্রয়োজনীয়। এই ব্লগের অন্তর্ভুক্ত বিষয়গুলি মূলত এর জন্য প্রয়োজনীয়

পার্টিশনার কেন ব্যবহার করবেন?

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



রূপান্তরগুলির জন্য যা কর্মীদের নোড জুড়ে ডেটা বদলানো প্রয়োজন পার্টিশন থেকে প্রচুর উপকার করে। যেমন রূপান্তর হয় কগ গ্রুপ, গ্রুপউইথ, জয়েন, বাম আউটারজয়াইন, ডান আউটজারজাইন, গ্রুপবাইকি, হ্রাসবাইক, কম্বাইনবাইকে এবং খুঁজে দেখো

পার্টিশনগুলি কনফিগার করা যায় যদি আরডিডি কী-মান ভিত্তিক হয়।

পার্টিশনের বৈশিষ্ট্য

  1. একই পার্টিশনের টিপলগুলি একই মেশিনে থাকার গ্যারান্টিযুক্ত।
  2. একটি ক্লাস্টারের প্রতিটি নোডে একাধিক পার্টিশন থাকতে পারে।
  3. মোট পার্টিশনের সংখ্যা কনফিগারযোগ্য, ডিফল্টরূপে এটি সমস্ত এক্সিকিউটার নোডগুলিতে মোট কোরের সংখ্যায় সেট করা থাকে।

স্পার্কে পার্টিশন দেওয়ার প্রকারগুলি

স্পার্ক দুটি ধরণের বিভাজন সমর্থন করে,

জাভা পদ্ধতিতে ওভারলোডিং এবং ওভাররাইডের মধ্যে পার্থক্য
  • হ্যাশ পার্টিশন : জাভা ব্যবহার করে অবজেক্ট.হ্যাশকোড পার্টিশন হিসাবে নির্ধারণ করার পদ্ধতি পার্টিশন = কী.হ্যাশকোড ()% নাম পার্টিশন।

hash-partitioning-demystifying-partitioning-in-spark



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

কোড উদাহরণ

কর্মী নোডগুলি জুড়ে কীভাবে ডেটা বিভক্ত করবেন তার একটি উদাহরণ দেখি। সম্পূর্ণ স্কালা কোড উপলব্ধ এখানে

এখানে 12 টি স্থানাঙ্কের (টিপলস হিসাবে) কিছু পরীক্ষার ডেটা রয়েছে,

পিএইচপি স্ট্রিং থেকে অ্যারে তৈরি করুন

তৈরি একটি org.apache.spark.HashPartitioner আকার 2, যেখানে কীগুলি হ্যাশ কোডের উপর ভিত্তি করে এই দুটি পার্টিশন জুড়ে বিভাজন করা হবে।

তারপরে আমরা জোড়গুলি পরিদর্শন করতে পারি এবং বিভিন্ন কী ভিত্তিক রূপান্তর করতে পারি ফোল্ডবাই এবং হ্রাসবাইক

সংক্ষিপ্তসার, পার্টিশন মূল কী ভিত্তিক রূপান্তরগুলির জন্য কার্যকরকরণের গতিকে অনেক উন্নত করে।

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

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

গে ফাংশন সি ++

হাদুপকে মাস্টার করার পরে কেন আপনার স্পার্ক শিখতে হবে

অ্যাপাচি স্পার্ক বনাম হ্যাডোপ ম্যাপ্রেডুস