Apache Avro একটি শক্তিশালী ডেটা সিরিয়ালাইজেশন ফরম্যাট যা কমপ্যাক্ট এবং কার্যকরী। Avro Tools CLI (Command Line Interface) ব্যবহার করে আপনি সহজেই Avro ফাইলগুলোর উপর বিভিন্ন ডেটা ম্যানিপুলেশন কার্যক্রম করতে পারেন, যেমন ডেটা দেখানো, কনভার্ট করা, স্কিমা যাচাই করা, ইত্যাদি। এই টুলটি ডেটা প্রসেসিং এবং ডিবাগিংয়ের জন্য খুবই উপকারী।
Avro Tools CLI ইনস্টলেশন
Avro Tools CLI ব্যবহার করতে হলে প্রথমে আপনাকে Apache Avro ইনস্টল করতে হবে। এটি সাধারণত Java-এর উপর ভিত্তি করে কাজ করে। এখানে ইনস্টল করার জন্য কিছু সাধারণ ধাপ দেওয়া হলো:
- Apache Avro-এর ডিস্ট্রিবিউশন ডাউনলোড করুন: Apache Avro ডাউনলোড পেজ থেকে আপনার সিস্টেমের জন্য উপযুক্ত ডিস্ট্রিবিউশন ডাউনলোড করুন।
- অ্যাক্সট্র্যাক্ট করুন: ডাউনলোড করার পর,
.tar.gzবা.zipফাইল এক্সট্র্যাক্ট করুন। Java ইনস্টলেশন চেক করুন: Avro Tools CLI Java-তে রান করতে হবে। নিশ্চিত করুন আপনার সিস্টেমে Java ইনস্টল রয়েছে। আপনি এই কমান্ড দিয়ে Java ভার্সন চেক করতে পারেন:
java -versionAvro Tools Run: CLI টুল চালানোর জন্য নিচের কমান্ডটি ব্যবহার করুন:
java -jar avro-tools-<version>.jar <command> [options]
Avro Tools CLI কমান্ড
Avro Tools CLI বেশ কিছু কমান্ড এবং অপশন সমর্থন করে, যার মাধ্যমে আপনি বিভিন্ন ধরনের ডেটা ম্যানিপুলেশন কার্যক্রম করতে পারেন। নিচে কিছু গুরুত্বপূর্ণ কমান্ড এবং তাদের ব্যবহার দেখানো হলো।
১. Avro ফাইলের স্কিমা চেক করা
Avro ফাইলের স্কিমা দেখতে getschema কমান্ড ব্যবহার করা হয়। এটি ব্যবহার করে আপনি Avro ফাইলের কাঠামো দেখতে পারেন।
java -jar avro-tools-<version>.jar getschema <avro-file>
উদাহরণ:
java -jar avro-tools-1.10.0.jar getschema data.avro
এটি data.avro ফাইলের স্কিমা দেখাবে।
২. Avro ফাইল থেকে ডেটা দেখতে
Avro ফাইলের মধ্যে সংরক্ষিত ডেটা দেখতে tojson কমান্ড ব্যবহার করা হয়। এই কমান্ডটি ব্যবহার করে আপনি Avro ফাইলের ডেটাকে JSON ফরম্যাটে কনভার্ট করতে পারবেন এবং দেখতে পারবেন।
java -jar avro-tools-<version>.jar tojson <avro-file>
উদাহরণ:
java -jar avro-tools-1.10.0.jar tojson data.avro
এটি data.avro ফাইলের সমস্ত ডেটা JSON ফরম্যাটে প্রদর্শন করবে।
৩. Avro ফাইল থেকে JSON ফরম্যাটে কনভার্ট করা
আপনি যদি একটি Avro ফাইলকে JSON ফরম্যাটে কনভার্ট করতে চান, তবে tojson কমান্ডের সাথে --pretty অপশন ব্যবহার করতে পারেন, যা আউটপুটটি আরও পাঠযোগ্য করে তোলে।
java -jar avro-tools-<version>.jar tojson --pretty <avro-file> > output.json
এটি data.avro ফাইলের ডেটাকে JSON ফরম্যাটে কনভার্ট করে output.json ফাইলে সংরক্ষণ করবে।
৪. Avro ফাইল তৈরি করা
Avro ফাইল তৈরি করার জন্য, একটি স্কিমা এবং ডেটা প্রয়োজন হয়। প্রথমে JSON ফরম্যাটে ডেটা তৈরি করুন এবং তারপরে fromjson কমান্ডের মাধ্যমে Avro ফাইলে কনভার্ট করুন।
ধাপ ১: JSON ডেটা তৈরি করুন (data.json):
{"name": "John Doe", "age": 25, "emails": ["john.doe@example.com"]}
ধাপ ২: Avro ফাইল তৈরি করুন:
java -jar avro-tools-<version>.jar fromjson data.json --schema-file schema.avsc > output.avro
এটি data.json ফাইলটি schema.avsc স্কিমা ব্যবহার করে output.avro ফাইলে কনভার্ট করবে।
৫. Avro ফাইলের মধ্যে ডেটা সংযোজন (Append)
Avro ফাইলের মধ্যে নতুন ডেটা যোগ করার জন্য append কমান্ড ব্যবহার করা হয়। এটি একটি নতুন ডেটা সেটকে বিদ্যমান Avro ফাইলের সাথে যোগ করতে সাহায্য করে।
java -jar avro-tools-<version>.jar append <existing-avro-file> <new-avro-file>
উদাহরণ:
java -jar avro-tools-1.10.0.jar append existing_data.avro new_data.avro
এটি new_data.avro ফাইলের ডেটাকে existing_data.avro ফাইলে যোগ করবে।
৬. Avro ফাইলের স্কিমা পরিবর্তন করা (Schema Evolution)
Avro সিস্টেমে স্কিমা ইভোলিউশন খুবই গুরুত্বপূর্ণ। Avro ফাইলের স্কিমা পরিবর্তন করতে হলে, নতুন স্কিমা ব্যবহার করে নতুন ফাইল তৈরি করতে হয়। আপনি যদি কোনো বিদ্যমান Avro ফাইলের সাথে নতুন স্কিমা প্রয়োগ করতে চান, তবে এটি করা যেতে পারে স্কিমা ইভোলিউশনের মাধ্যমে।
java -jar avro-tools-<version>.jar fromjson new_data.json --schema-file new_schema.avsc > new_output.avro
এটি নতুন স্কিমা অনুযায়ী ডেটা প্রসেস করবে এবং একটি নতুন Avro ফাইল তৈরি করবে।
৭. Avro ফাইলের ভিতরে ডেটা পরিসংখ্যান দেখা
Avro ফাইলের পরিসংখ্যান বের করার জন্য count কমান্ড ব্যবহার করা হয়, যা ফাইলে মোট রেকর্ড সংখ্যা দেখায়।
java -jar avro-tools-<version>.jar count <avro-file>
উদাহরণ:
java -jar avro-tools-1.10.0.jar count data.avro
এটি data.avro ফাইলের মোট রেকর্ড সংখ্যা প্রদর্শন করবে।
সারাংশ
Avro Tools CLI ব্যবহার করে আপনি Avro ফাইলগুলির বিভিন্ন ডেটা ম্যানিপুলেশন কার্যক্রম সম্পন্ন করতে পারেন, যেমন স্কিমা চেক করা, ডেটা দেখানো, কনভার্ট করা, নতুন ডেটা যোগ করা, এবং আরও অনেক কিছু। এটি একটি শক্তিশালী টুল যা Avro ফাইলের সাথে কাজ করার প্রক্রিয়া সহজ এবং দ্রুত করে তোলে। CLI কমান্ডগুলি ডেটা প্রক্রিয়াকরণ এবং ডিবাগিংয়ের জন্য অত্যন্ত সহায়ক, বিশেষ করে যখন বড় ডেটাসেটের সাথে কাজ করা হয়।
Read more