Presto-তে Hive ডেটা সোর্স সংযোগ করতে Hive Metastore ব্যবহার করা হয়। Hive Metastore হলো Hive-এর একটি গুরুত্বপূর্ণ উপাদান, যা Hive ডেটাবেসের মেটাডেটা (যেমন টেবিল স্কিমা, কলাম, ফাইলের লোকেশন) সঞ্চয় করে এবং সেগুলিকে সিস্টেমে সঠিকভাবে পরিচালনা করতে সাহায্য করে।
Presto Hive Connector এর মাধ্যমে Hive ডেটাবেসের সাথে সংযোগ করার জন্য Hive Metastore কনফিগারেশন গুরুত্বপূর্ণ। এখানে আমরা Hive Metastore কনফিগারেশন প্রক্রিয়া বিস্তারিতভাবে দেখাব।
Hive Metastore কনফিগারেশন
Presto-তে Hive সংযোগ করার জন্য, আপনাকে Hive Metastore URI নির্ধারণ করতে হবে, যাতে Presto Hive ডেটাবেসের মেটাডেটা অ্যাক্সেস করতে পারে। এই কনফিগারেশন ফাইলটি /etc/presto/catalog/ ডিরেক্টরিতে রাখতে হবে এবং hive.properties ফাইল তৈরি করতে হবে।
ধাপ ১: Hive Metastore URI কনফিগারেশন
Hive Metastore URI হলো Hive মেটাস্টোরের থ্রিফট সার্ভিসের URI। এটি সাধারণত thrift://<hive_metastore_host>:<port> ফরম্যাটে থাকে। এই URI Presto-কে Hive মেটাস্টোরের সাথে সংযোগ স্থাপন করতে সাহায্য করে।
hive.properties কনফিগারেশন ফাইল:
connector.name=hive
hive.metastore.uri=thrift://<hive_metastore_host>:9083
hive.config.resources=/etc/hadoop/core-site.xml,/etc/hadoop/hdfs-site.xml
এখানে:
hive.metastore.uri: এটি Hive মেটাস্টোরের থ্রিফট URI।<hive_metastore_host>আপনার Hive মেটাস্টোর সার্ভারের হোস্টনেম বা আইপি এবং9083পোর্ট Hive-এর ডিফল্ট পোর্ট।hive.config.resources: এটি Hive এবং HDFS কনফিগারেশন ফাইলের পথ। আপনি যদি S3 ব্যবহার করেন, তবেhive.s3.aws-access-keyএবংhive.s3.aws-secret-keyকনফিগারেশনও যোগ করতে হবে।
ধাপ ২: Hive মেটাস্টোরের কনফিগারেশন
Hive Metastore সার্ভিস চালু করতে এবং সেটি Presto-তে সংযোগ স্থাপনের জন্য Hive-এর মেটাস্টোর সার্ভিস চালু থাকতে হবে।
Hive মেটাস্টোর চালানোর জন্য নিচের কমান্ড ব্যবহার করুন:
hive --service metastore
এটি Hive মেটাস্টোর সার্ভিস শুরু করবে যা Presto-এর সাথে সংযুক্ত হতে সক্ষম হবে।
ধাপ ৩: Hive টেবিলের মেটাডেটা অ্যাক্সেস
Presto-তে Hive এর টেবিলের মেটাডেটা অ্যাক্সেস করতে হলে, আপনি Presto CLI বা Presto Web UI ব্যবহার করতে পারেন।
Presto CLI Example:
SELECT * FROM hive.<schema_name>.<table_name>;
এখানে, <schema_name> হলো Hive স্কিমা এবং <table_name> হলো Hive টেবিলের নাম।
ধাপ ৪: Hive Metastore কনফিগারেশন এবং S3 ব্যবহার (অপশনাল)
যদি আপনি Hive Metastore-তে S3 বা অন্য কোনো ক্লাউড স্টোরেজ ব্যবহার করতে চান, তবে আপনাকে S3-এর জন্য অতিরিক্ত কনফিগারেশন করতে হবে।
S3 Configuration Example:
hive.s3.aws-access-key=<your-aws-access-key>
hive.s3.aws-secret-key=<your-aws-secret-key>
hive.metastore.uri=thrift://<hive_metastore_host>:9083
এখানে hive.s3.aws-access-key এবং hive.s3.aws-secret-key আপনার AWS অ্যাক্সেস কী এবং সিক্রেট কী।
ধাপ ৫: Hive Metastore কনফিগারেশন লগ চেক
Hive Metastore কনফিগারেশন সঠিকভাবে কাজ করছে কিনা তা নিশ্চিত করার জন্য আপনি Hive মেটাস্টোর সার্ভিসের লগ চেক করতে পারেন। লগ চেক করার জন্য আপনাকে Hive মেটাস্টোর ডিরেক্টরিতে লগ ফাইল খুঁজে দেখতে হবে, যেটি সাধারণত /var/log/hive/ এ থাকে।
সারাংশ
- Hive Metastore URI Presto Hive Connector এর সাথে সংযোগ স্থাপন করতে গুরুত্বপূর্ণ।
- Hive এর থ্রিফট সার্ভিস এবং মেটাস্টোরের URI সঠিকভাবে কনফিগার করা জরুরি।
- Hive Metastore এবং Presto CLI/Web UI এর মাধ্যমে ডেটা অ্যাক্সেস করা যায়।
- যদি আপনি S3 ব্যবহার করতে চান, তবে অতিরিক্ত কনফিগারেশন করতে হবে।
এইভাবে Presto Hive Metastore কনফিগারেশন সম্পন্ন হলে, Presto সফলভাবে Hive ডেটাবেসের সাথে সংযুক্ত হতে পারে এবং SQL কোয়েরি চালাতে পারবে।
Read more