Apache Hive একটি SQL-অনুরূপ কুয়েরি ভাষা HiveQL ব্যবহার করে ডেটাবেস অপারেশন সম্পাদন করে। Hive সাধারণত বিশাল ডেটাসেটের জন্য বিশ্লেষণ এবং কুয়েরি পরিচালনা করতে ব্যবহৃত হয়, তবে এটি SELECT, INSERT, UPDATE, এবং DELETE কুয়েরি চালানোর জন্য SQL-এর মতো কার্যকরী কমান্ডও প্রদান করে।
নিম্নে Hive-এর SELECT, INSERT, UPDATE, এবং DELETE কুয়েরি ব্যবহার সম্পর্কে বিস্তারিত আলোচনা করা হলো।
SELECT কুয়েরি
SELECT কুয়েরি HiveQL-এর অন্যতম গুরুত্বপূর্ণ অংশ, যা ডেটাবেস থেকে ডেটা এক্সট্রাক্ট বা পুনরুদ্ধারের জন্য ব্যবহৃত হয়।
SELECT কুয়েরি ব্যবহার:
SELECT column1, column2, ...
FROM table_name
WHERE condition;
এখানে:
- column1, column2, ...: ডেটাবেস থেকে যে কলামগুলো আপনি দেখতে চান।
- table_name: যে টেবিল থেকে আপনি ডেটা দেখতে চান।
- WHERE condition: যদি কোনও শর্ত থাকে, তাহলে সেই শর্ত অনুসারে ডেটা নির্বাচন করা হবে।
উদাহরণ:
SELECT name, age
FROM employees
WHERE age > 30;
এটি employees টেবিল থেকে name এবং age কলাম নির্বাচন করবে, যেখানে age 30 এর বেশি।
SELECT এর অন্যান্য বৈশিষ্ট্য:
DISTINCT: যদি আপনি ডুপ্লিকেট রেকর্ড বাদ দিতে চান, তবে
DISTINCTব্যবহার করতে পারেন।SELECT DISTINCT department FROM employees;LIMIT: শুধুমাত্র একটি নির্দিষ্ট সংখ্যক রেকর্ড ফেরত দেওয়ার জন্য
LIMITব্যবহার করতে পারেন।SELECT * FROM employees LIMIT 10;
INSERT কুয়েরি
Hive-এ INSERT কুয়েরি ব্যবহার করে ডেটাবেসে নতুন রেকর্ড যুক্ত করা হয়। Hive SQL এর INSERT INTO বা INSERT OVERWRITE কুয়েরি ব্যবহার করে ডেটা যোগ করতে পারেন।
INSERT INTO:
INSERT INTO table_name
VALUES (value1, value2, ...);
INSERT OVERWRITE:
এটি টেবিলের পুরানো ডেটা সম্পূর্ণরূপে প্রতিস্থাপন করে। সাধারণত এটি পছন্দ করা হয় যখন টেবিলের সব ডেটা আবার ইনসার্ট করা হয়।
INSERT OVERWRITE TABLE table_name
VALUES (value1, value2, ...);
উদাহরণ:
INSERT INTO employees
VALUES ('John', 35, 'HR');
এটি employees টেবিলে একটি নতুন রেকর্ড (যেখানে নাম "John", বয়স 35 এবং বিভাগ "HR") ইনসার্ট করবে।
SELECT INTO INSERT:
আপনি একটি টেবিল থেকে ডেটা নির্বাচন করে অন্য একটি টেবিলে ইনসার্ট করতে পারেন:
INSERT INTO employees
SELECT name, age FROM candidates WHERE status = 'Hired';
UPDATE কুয়েরি
Hive মূলত একটি Batch Processing টুল এবং এটি UPDATE অপারেশন সমর্থন করে না। Hive-এর ACID টেবিল (যেটি Hive 0.14 সংস্করণ থেকে সমর্থিত) ব্যবহার করলে UPDATE কুয়েরি করা সম্ভব। তবে এটি MapReduce ব্যবহার করে এবং ছোট-আকারের ডেটাবেসে কার্যকরী নয়।
UPDATE কুয়েরি ব্যবহার (ACID টেবিলের জন্য):
UPDATE table_name
SET column1 = value1, column2 = value2
WHERE condition;
উদাহরণ:
UPDATE employees
SET age = 36
WHERE name = 'John';
এটি employees টেবিলে "John" নামের ব্যক্তির বয়স পরিবর্তন করে 36 করে দেবে।
DELETE কুয়েরি
Hive সাধারণত DELETE কুয়েরি সমর্থন করে না, তবে ACID টেবিল ব্যবহার করলে আপনি DELETE কুয়েরি চালাতে পারবেন। Hive 0.14 সংস্করণের পর ACID সমর্থন যোগ করা হয়েছে, তবে এটি small data sets এ বেশি কার্যকরী এবং large datasets এ সীমাবদ্ধ।
DELETE কুয়েরি ব্যবহার (ACID টেবিলের জন্য):
DELETE FROM table_name
WHERE condition;
উদাহরণ:
DELETE FROM employees
WHERE age < 25;
এটি employees টেবিল থেকে বয়স 25 এর কম এমন সমস্ত রেকর্ড মুছে ফেলবে।
Hive-এ DML (Data Manipulation Language) কুয়েরি সমর্থন
Hive মূলত বড় ডেটাসেটের জন্য ডিজাইন করা হয়েছে এবং এটি Batch processing সমর্থন করে, তাই সাধারণ UPDATE এবং DELETE কুয়েরি ব্যবহারের ক্ষেত্রে কিছু সীমাবদ্ধতা রয়েছে। ACID টেবিল ব্যবহারের মাধ্যমে Hive SQL-এ কিছু কার্যকারিতা যোগ করা হলেও, ছোট ডেটাসেটের জন্য Hive-এর এই ধরনের অপারেশনগুলো অপেক্ষাকৃত ধীর হতে পারে।
উপসংহার
Apache Hive একটি SQL-অনুরূপ কুয়েরি ভাষা HiveQL ব্যবহার করে ডেটাবেস অপারেশন সম্পাদন করে। SELECT কুয়েরি দ্বারা ডেটা নির্বাচন, INSERT কুয়েরি দিয়ে নতুন রেকর্ড ইনসার্ট করা, এবং UPDATE ও DELETE কুয়েরি সমর্থন কেবল ACID টেবিলের জন্য উপলব্ধ। Hive সাধারণত বড় ডেটাসেটের জন্য উপযুক্ত, তবে এর মধ্যে SQL-ভিত্তিক কুয়েরি এবং Batch processing সহজে কার্যকরীভাবে পরিচালনা করা সম্ভব।
Read more