মূল বিষয়বস্তুতে যান

মৌচাক ক্যাটালগ

সংক্ষিপ্ত বিবরণ

মৌচাক ক্যাটালগ is a widely used metadata catalog for Spark, Hadoop, and big data environments. At its core, it stores table schemas, locations, and other metadata in a central database called the মৌচাক মেটাস্টোর . This makes it possible for Spark and other compute engines to consistently find and access tables across multiple jobs and sessions.

In simpler terms, Hive Catalog is like a registry or “table of contents” for your data lake—keeping track of which tables exist, their schemas, partitions, and where their data physically resides (for example, on HDFS, S3, or MinIO).
Ilum deeply integrates Hive Catalog, making it the default catalog for all SQL queries, jobs, and groups unless another is specified.

Unlike Git-like catalogs (e.g., Nessie), Hive only tracks the latest state of each table; it does না support branching, commit history, or time travel across the entire catalog. However, it is reliable, mature, and universally compatible with a huge ecosystem.

Hive vs. Other Data Catalogs

Here’s how Hive Catalog compares with modern alternatives like Nessie or AWS Glue:

  • No Version Control: Hive keeps only the most recent version of each table. It does not support branching, tagging, or commit history at the catalog level. To track historical states, you must rely on table-format-specific features (like Iceberg’s or Delta’s time travel), not Hive itself.

  • Centralized Metadata: Table schemas, locations, and partitioning are stored in the Hive Metastore database. This ensures consistent metadata across all Spark jobs and engines using the catalog.

  • সার্বজনীন সামঞ্জস্যতা: Hive Metastore is supported by nearly all big data engines (Spark, Hive, Trino, Flink, etc.), making it a safe default for mixed-technology environments.

  • No Multi-table Transactions: Catalog-level atomic transactions (covering multiple tables at once) are না supported. Each DDL/DML operation is handled separately.

  • No Branch Isolation: To isolate dev/staging/prod environments, you must maintain multiple catalogs or databases, or physically copy data—there’s no “branching” mechanism built in.

Core Concepts in Hive Catalog

মৌচাক মেটাস্টোর

মৌচাক মেটাস্টোর is a service and a backing database (often PostgreSQL or MySQL) where all metadata about tables, views, and partitions is stored.
Whenever Spark or another engine queries a table, it looks up the details in the Hive Metastore.

Tables, Databases, and Storage

  • Tables define the schema and storage location of your datasets.
  • Databases in Hive are namespaces for grouping related tables.
  • Warehouse Location is the root folder (on HDFS, S3, or other storage) where table data files reside.

Using Hive Catalog in Ilum

Ilum automatically configures the Hive Catalog as the default for Spark jobs, SQL Viewer queries, and pipeline groups.
You can run standard SQL commands such as:

তৈরি  DATABASE IF না  EXISTS mydb; 
তৈরি সারণী IF না EXISTS mydb. sales ( তারিখ স্ট্রিং , amount আইএনটি ) ;
সন্নিবেশ এর মধ্যে mydb. sales মানসমূহ ( '2025-06-01', 1000) ;
নির্বাচন * থেকে mydb. sales;

Spark Configuration for Hive

If you run Spark manually, set these parameters to enable Hive support:

spark.sql.catalogImplementation=hive 
spark.hadoop.hive.metastore.uris=thrift://ilum-hive-metastore:9083

তবে Ilum handles this for you in all standard workflows—no manual configuration is required.

Setting up the Hive Metastore in Ilum

Normally, using Hive Catalog requires:

  • Installing the Hive Metastore service.
  • Configuring a backing database (like PostgreSQL or MySQL) for metadata.
  • Connecting the service to your object storage (HDFS, S3, MinIO, GCS, WASBS).
  • Setting up security, network, and storage options.

Ilum automates all of these steps!
When you deploy Ilum via Helm, it provisions the Hive Metastore, database, and object storage integration for you.

Enabling Hive Metastore

To enable Hive Metastore in Ilum, add these flags to your Helm upgrade/install:

হেলম আপগ্রেড \ 
--সেট ilum-Hive-metastore.enabled=true \
--set ilum-core.metastore.enabled=true \
--set ilum-core.metastore.type=hive \
--পুনঃব্যবহার-মান ইলুম ইলুম / ইলুম

Using Custom PostgreSQL Credentials

If you want to use a custom PostgreSQL database for the Hive Metastore:

হেলম আপগ্রেড \ 
--সেট করুন postgresql.auth.username=customuser \
--postgresql.auth.password="পাসওয়ার্ড চয়ন করুন" \
--পুনঃব্যবহার-মান ইলুম ইলুম / ইলুম

Configure Hive Metastore to use those credentials:

হেলম আপগ্রেড \ 
--সেট ilum-hive-metastore.postgresql.auth.password="পাসওয়ার্ড চয়ন করুন" \
--সেট ilum-Hive-metastore.postgresql.auth.username=customuser \
--পুনঃব্যবহার-মান ইলুম ইলুম / ইলুম

হাইভ মেটাস্টোর সেট আপ করা: স্টোরেজ

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

  • এইচডিএফএস (Hadoop ডিস্ট্রিবিউটেড ফাইল সিস্টেম)
  • অ্যামাজন এস৩ বালতি এবং মিনিও
  • গুগল ক্লাউড স্টোরেজ (জিসিএস)
  • Windows Azure Storage Blob (WASBS)

সাধারণত, আপনাকে এই স্টোরেজ বিকল্পগুলির মধ্যে একটি সেট আপ করতে হবে এবং একটি এক্সএমএল ফাইলের মধ্যে সেই অনুযায়ী হাইভের মেটাস্টোর সংযোগটি কনফিগার করতে হবে।

তবে, সঙ্গে ইলুম , ঐ এস 3 মিনিও স্টোরেজ আপনার জন্য প্রাক কনফিগার করা আছে, এবং হাইভ মেটাস্টোর ইতিমধ্যে ডিফল্টরূপে এটি ব্যবহার করার জন্য সেট আপ করা আছে। অন্যান্য স্টোরেজ ব্যাকএন্ড কনফিগার করা

আপনি যদি কোনও বিকল্প স্টোরেজ ব্যাকএন্ড ব্যবহার করতে পছন্দ করেন তবে আপনি আপনার হেলমের মানগুলি পুনরায় কনফিগার করে এটির সাথে কাজ করতে হাইভ কনফিগার করতে পারেন:

জন্য এস 3 সংগ্রহস্থল বা মিনিও :

হেলম আপগ্রেড 
--সেট ilum-Hive-metastore.storage.type="S3" \
--সেট ilum-hive-metastore.storage.metastore.warehouse="S3a://yourbucket/yourfolder" \
--সেট ilum-Hive-metastore.storage.s3.accessKey="your_access_key" \
--সেট ilum-hiive-metastore.storage.s3.secretKey="your_secret_key" \
--সেট ilum-Hive-metastore.storage.s3.host="yourhost" \
--সেট ilum-Hive-metastore.storage.s3.port=yourport \
--পুনঃব্যবহার-মান ইলুম ইলুম / ইলুম

জন্য জিসিএস :

হেলম আপগ্রেড 
--সেট ilum-Hive-metastore.storage.type="gcs" \
--সেট ilum-Hive-metastore.storage.metastore.warehouse="gs://my-gcs-bucket/path/to/folder/" \
--সেট ilum-hive.metastore.storage.gcs.clientEmail="your@email" \
--সেট ilum-hiive-metastore.storage.gcs.privateKey="yourprivatekey" \
--set ilum-hive-metastore.storage.gcs.privateKeyId="privatekeyid" \
--পুনঃব্যবহার-মান ইলুম ইলুম / ইলুম

জন্য ওয়াসবস :

হেলম আপগ্রেড 
--সেট ilum-Hive-metastore.storage.type="wasbs" \
--সেট ilum-Hive-metastore.storage.metastore.warehouse="wasbs:// [email protected] /পাথ/টু/ফোল্ডার/" \
--সেট ilum-hive-metastore.storage.wasbs.accountName="youraccountname" \
--সেট ilum-hive-metastore.storage.wasbs.accessKey="youraccesskey" \
--পুনঃব্যবহার-মান ইলুম ইলুম / ইলুম

জন্য এইচডিএফএস :

এখানে আপনাকে আপনার এইচডিএফএস কনফিগারেশন নির্দিষ্ট করতে হবে

ilum-Hive-metastore.storage.hdfs.config 

আপনি তাদের প্রদান করতে পারেন hdfs-config.yaml :

হেলম আপগ্রেড 
--সেট ilum-Hive-metastore.storage.type="HDFS" \
--সেট ilum-hive-metastore.storage.metastore.warehouse="hdfs://node:port/path/to/folder" \
--সেট ilum-hive-metastore.storage.hdfs.hadoopUsername="yourusername" \
--পুনঃব্যবহার-মান ইলুম ইলুম / ইলুম \
-f hdfs-config.yaml

Best Practices and Recommendations

  • Use Hive for Maximum Compatibility: Hive Metastore is the universal “common denominator” for big data engines.
  • For Version Control, Use Iceberg or Nessie: If you need branching, time travel, or commit history, combine Hive Catalog with a table format (like Iceberg) that supports these features—or use Nessie as your catalog.
  • Secure Your Metastore: Always use strong credentials and network restrictions for your Hive Metastore database and service.
  • Monitor Warehouse Storage: Make sure your warehouse (MinIO, S3, HDFS, etc.) is backed up and monitored for health and available space.

আরও শেখো

For more on using Hive Catalog, see the Hive Metastore documentation.

For detailed Ilum configuration and Helm reference, visit the Ilum Getting Started guide.

Hive Catalog in Ilum combines ease of use, automation, and broad compatibility—giving you a robust foundation for SQL analytics and data engineering at scale.