Big Data and Analytics Parameter Substitution এর মাধ্যমে Script Generalization গাইড ও নোট

347

অ্যাপাচি পিগ (Apache Pig) একটি উচ্চ-স্তরের ডেটা প্রসেসিং প্ল্যাটফর্ম যা Hadoop ইকোসিস্টেমে বড় ডেটাসেট প্রক্রিয়া করতে ব্যবহৃত হয়। পিগ স্ক্রিপ্টগুলি সাধারণত ডেটা ট্রান্সফরমেশন এবং বিশ্লেষণের জন্য ব্যবহার হয়, তবে অনেক সময় স্ক্রিপ্টের কোডটি অনেক বার পরিবর্তন বা কাস্টমাইজ করা প্রয়োজন হয়। এই সমস্যাটি সমাধান করতে Parameter Substitution ব্যবহার করা হয়, যা স্ক্রিপ্টগুলিকে আরও সাধারণ এবং পুনঃব্যবহারযোগ্য করে তোলে।

Parameter Substitution পিগ স্ক্রিপ্টে প্যারামিটার বা পরিবর্তনশীল ব্যবহার করার মাধ্যমে একটি স্ক্রিপ্টকে আরও ফ্লেক্সিবল এবং পুনঃব্যবহারযোগ্য করে তোলে। এটি পিগ স্ক্রিপ্টের মধ্যে বিভিন্ন মানের পরিবর্তে একটি সাধারণ প্যারামিটার ব্যবহার করতে সহায়তা করে, যার ফলে স্ক্রিপ্টের কোড আরও ইউনিভার্সাল এবং কমপ্যাক্ট হয়।


Parameter Substitution কী?

Parameter Substitution হল পিগ স্ক্রিপ্টে ভ্যালু বা প্যারামিটার ইনপুট হিসাবে ব্যবহার করার পদ্ধতি। এর মাধ্যমে আপনি স্ক্রিপ্টের মধ্যে কিছু নির্দিষ্ট ভ্যালু বা প্যারামিটার পরিবর্তন করে সেগুলোকে কাস্টমাইজ করতে পারেন। এর ফলে একই স্ক্রিপ্ট বিভিন্ন কেসে ব্যবহার করা যায়, যাতে কোড পুনঃব্যবহারযোগ্য হয় এবং স্ক্রিপ্টের সাইজ কমে।

Parameter Substitution এর মাধ্যমে Script Generalization

পিগে স্ক্রিপ্টের সাধারণীকরণ বা generalization করার জন্য প্যারামিটার সাবস্টিটিউশন ব্যবহার করা হয়। এর মাধ্যমে আপনি স্ক্রিপ্টের মধ্যে পরিবর্তনশীল মান সেট করতে পারেন এবং স্ক্রিপ্টকে আরও নমনীয় করতে পারেন। এটি বিশেষভাবে কার্যকর যখন আপনি বিভিন্ন ডেটাসেট বা শর্তে স্ক্রিপ্ট চালাতে চান।


Parameter Substitution এর জন্য Syntax

পিগ স্ক্রিপ্টে প্যারামিটার সাবস্টিটিউশন ব্যবহার করতে -param অপশন ব্যবহার করা হয়। আপনি pigshell বা command line থেকে প্যারামিটার ইনপুট দিতে পারেন এবং সেই প্যারামিটারগুলির মান স্ক্রিপ্টের মধ্যে প্রতিস্থাপন করতে পারেন।

সিনট্যাক্স:

pig -param parameter_name=parameter_value script.pig

এখানে, parameter_name হলো প্যারামিটার নাম এবং parameter_value হলো সেই প্যারামিটারের মান।


Parameter Substitution উদাহরণ

উদাহরণ ১: Simple Parameter Substitution

ধরা যাক, আপনার একটি স্ক্রিপ্ট রয়েছে যেটি কর্মীদের বেতন ফিল্টার করে, এবং আপনি বিভিন্ন বেতন মানে স্ক্রিপ্টটি চালাতে চান। আপনি salary_threshold নামে একটি প্যারামিটার ব্যবহার করে এটি করতে পারেন।

Employee_Pig_Script.pig:

-- Load employee data
employees = LOAD 'employee_data.csv' USING PigStorage(',') AS (id:int, name:chararray, salary:int);

-- Filter employees with salary greater than the given threshold
filtered_employees = FILTER employees BY salary > $salary_threshold;

-- Display the result
DUMP filtered_employees;

এখানে, $salary_threshold প্যারামিটারটি স্ক্রিপ্টে ডেটার শর্ত হিসেবে ব্যবহৃত হচ্ছে।

স্ক্রিপ্ট চালানো:

pig -param salary_threshold=50000 Employee_Pig_Script.pig

এখানে, salary_threshold প্যারামিটারটি ৫০,০০০ দিয়ে সেট করা হয়েছে, এবং স্ক্রিপ্টটি শুধুমাত্র ৫০,০০০ এর বেশি বেতন পাওয়া কর্মীদের দেখাবে।


উদাহরণ ২: Dynamic File Path Using Parameters

ধরা যাক, আপনি দুটি ভিন্ন ডেটাসেটের উপর কাজ করতে চান এবং তাদের file paths পরিবর্তনশীল হিসেবে ব্যবহার করতে চান। Parameter Substitution এর মাধ্যমে আপনি ডেটা ফাইলের পাথ কনফিগারেশন করতে পারেন।

Dynamic_File_Load.pig:

-- Load employee data from dynamic path
employees = LOAD '$input_path' USING PigStorage(',') AS (id:int, name:chararray, salary:int);

-- Display the data
DUMP employees;

এখানে, $input_path প্যারামিটারটি স্ক্রিপ্টে ডেটা লোড করার জন্য ব্যবহার করা হচ্ছে।

স্ক্রিপ্ট চালানো:

pig -param input_path='hdfs://path/to/employee_data.csv' Dynamic_File_Load.pig

এখানে, input_path প্যারামিটারটি ডেটাসেটের সঠিক পাথ সেট করবে, এবং স্ক্রিপ্টটি সেই পাথ থেকে ডেটা লোড করবে।


Parameter Substitution with Multiple Parameters

আপনি একাধিক প্যারামিটারও একসাথে ব্যবহার করতে পারেন, যার মাধ্যমে একটি স্ক্রিপ্টে একাধিক ভ্যালু পরিবর্তন করতে পারবেন।

উদাহরণ:

ধরা যাক, আপনি কর্মীদের বেতন এবং বিভাগ অনুসারে ফিল্টার করতে চান।

Employee_Filter.pig:

-- Load employee data
employees = LOAD 'employee_data.csv' USING PigStorage(',') AS (id:int, name:chararray, department:chararray, salary:int);

-- Filter employees by department and salary
filtered_employees = FILTER employees BY department == '$department_name' AND salary > $salary_threshold;

-- Display the result
DUMP filtered_employees;

এখানে, $department_name এবং $salary_threshold দুটি প্যারামিটার ব্যবহার করা হয়েছে।

স্ক্রিপ্ট চালানো:

pig -param department_name='Sales' -param salary_threshold=60000 Employee_Filter.pig

এখানে, department_name এবং salary_threshold প্যারামিটারগুলির মান দিয়ে স্ক্রিপ্টটি চালানো হয়েছে। এটি Sales বিভাগের কর্মীদের মধ্যে ৬০,০০০ এর বেশি বেতন পাওয়া কর্মীদের দেখাবে।


Parameter Substitution-এর সুবিধা

  1. কোড পুনঃব্যবহারযোগ্যতা: প্যারামিটার সাবস্টিটিউশন কোডকে পুনঃব্যবহারযোগ্য করে তোলে, কারণ একই স্ক্রিপ্ট বিভিন্ন ভ্যালু দিয়ে চালানো যায়।
  2. স্ক্রিপ্টের সাধারণীকরণ: স্ক্রিপ্টটি কেবলমাত্র একটি প্যারামিটার দিয়ে পরিবর্তিত হতে পারে, যার ফলে স্ক্রিপ্টের মধ্যে একাধিক পরিবর্তনশীল মান ব্যবহার সহজ হয়।
  3. ডাইনামিক কনফিগারেশন: স্ক্রিপ্টের মধ্যে বিভিন্ন কনফিগারেশন বা ইনপুট ফাইলের পাথ ডাইনামিকভাবে সেট করা যায়।

সামগ্রিক সারাংশ

Parameter Substitution অ্যাপাচি পিগ স্ক্রিপ্টের একটি শক্তিশালী ফিচার যা স্ক্রিপ্টের পুনঃব্যবহারযোগ্যতা এবং সাধারণীকরণে সহায়তা করে। এটি স্ক্রিপ্টের মধ্যে কাস্টম প্যারামিটার ব্যবহার করে বিভিন্ন কেসে একই স্ক্রিপ্ট চালাতে সাহায্য করে। পিগ স্ক্রিপ্টে প্যারামিটার ব্যবহার করে আপনি কোডের ভ্যালুগুলি ডাইনামিকভাবে পরিবর্তন করতে পারেন, যা স্ক্রিপ্টের নমনীয়তা এবং কার্যকারিতা বৃদ্ধি করে।

Content added By
Promotion

Are you sure to start over?

Loading...