Jump to content

Connect Leeroopedia MCP: Equip your AI agents to search best practices, build plans, verify code, diagnose failures, and look up hyperparameter defaults.

Principle:Risingwavelabs Risingwave Iceberg Catalog Operations

From Leeroopedia


Knowledge Sources
Domains Data_Lake, Metadata_Management, Iceberg
Last Updated 2026-02-09 07:00 GMT

Overview

A metadata management mechanism that provides JNI-bridged access to Apache Iceberg catalog operations for table creation, loading, updating, and deletion from the Rust streaming engine.

Description

Iceberg Catalog Operations provide the metadata management layer for RisingWave's Iceberg integration. Since Iceberg catalogs are implemented in Java (Hive Metastore, AWS Glue, REST catalogs), RisingWave uses a JNI bridge to access them from its Rust core engine.

The JniCatalogWrapper class acts as a proxy that:

  1. Loads an Iceberg catalog implementation via CatalogUtil.loadCatalog()
  2. Delegates operations to the CatalogHandlers REST compatibility layer
  3. Serializes/deserializes requests and responses as JSON strings for JNI transport

Supported catalog types include:

  • Storage (Hadoop): Direct filesystem-based metadata
  • Hive: Hive Metastore-backed catalog
  • Glue: AWS Glue Data Catalog
  • REST: Iceberg REST catalog protocol
  • JDBC: Database-backed catalog

Usage

Use Iceberg catalog operations when:

  • Creating new Iceberg tables from RisingWave
  • Managing table schemas and partitions
  • Querying table existence and metadata
  • Dropping tables during cleanup

Theoretical Basis

Iceberg catalogs provide a centralized metadata registry:

Catalog API:
    loadTable(identifier) → table metadata + location
    createTable(namespace, schema, partition_spec) → new table
    updateTable(identifier, updates) → atomic metadata commit
    dropTable(identifier) → remove table
    tableExists(identifier) → boolean

JNI Bridge Pattern:
    Rust → JNI call → JniCatalogWrapper.method(json_string)
         → Iceberg Java SDK → Catalog Backend
         → JSON response string → JNI return → Rust

Related Pages

Implemented By

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment