Table Format website screenshot

Table Format

Open Table Format is a category of open standards for organizing and managing data in data lakehouses. The three dominant formats are Apache Iceberg (the emerging industry standard with snapshot-based metadata and broad engine support), Delta Lake (Databricks-originated, transaction-log-based), and Apache Hudi (upsert-optimized with Copy-on-Write and Merge-on-Read modes). These formats bring ACID transactions, schema evolution, time travel, and efficient query planning to data lake storage. Apache Iceberg defines a REST Catalog API (OpenAPI spec) that enables standardized catalog operations across implementations like Polaris, Nessie, AWS Glue, and Google BigLake.

4 APIs 0 Features
Data LakehouseOpen Table FormatApache IcebergDelta LakeApache HudiData LakeACID TransactionsSchema EvolutionTime Travel

APIs

Apache Iceberg REST Catalog API

The Apache Iceberg REST Catalog API is an open OpenAPI specification that defines a standard interface for interacting with Apache Iceberg table catalogs. It enables catalog ope...

Delta Lake

Delta Lake is an open-source storage framework developed by Databricks that adds reliability, performance, and ACID compliance to data lakes. It uses a transaction log (delta lo...

Apache Hudi

Apache Hudi (Hadoop Upserts Deletes and Incrementals) is an open-source data lakehouse platform optimized for upserts, deletes, and incremental data processing. It supports Copy...

Unity Catalog

Unity Catalog is an open-source, multi-modal catalog for data and AI that supports Apache Iceberg REST Catalog API, Apache Hive Metastore (HMS) API, and Delta Sharing. It provid...

Collections

Pricing Plans

Rate Limits

Table Format Rate Limits

5 limits

RATE LIMITS

FinOps

Semantic Vocabularies

Table Format Context

26 classes · 0 properties

JSON-LD

JSON Structure

Table Format Iceberg Table Structure

0 properties

JSON STRUCTURE

Example Payloads

Resources

🔗
Wikipedia
Wikipedia
🔗
Apache Iceberg
Apache Iceberg
🔗
Delta Lake
Delta Lake
🔗
Apache Hudi
Apache Hudi
🔗
Unity Catalog
Unity Catalog
👥
Apache Iceberg GitHub
Apache Iceberg GitHub
👥
Delta Lake GitHub
Delta Lake GitHub
👥
Apache Hudi GitHub
Apache Hudi GitHub
🔗
Vocabulary
Vocabulary

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Apache Iceberg REST Catalog API
  version: 0.0.1
request:
  auth:
    type: bearer
    token: '{{bearerToken}}'
items:
- info:
    name: Configuration
    type: folder
  items:
  - info:
      name: Get Catalog Configuration
      type: http
    http:
      method: GET
      url: https://{catalog-host}/v1/config
      params:
      - name: warehouse
        value: ''
        type: query
        description: Warehouse identifier for multi-tenant catalogs
    docs: Returns configuration properties for the catalog and default table properties, plus catalog-level overrides. Used
      during client initialization to discover catalog configuration.
- info:
    name: OAuth2
    type: folder
  items:
  - info:
      name: Get OAuth2 Token
      type: http
    http:
      method: POST
      url: https://{catalog-host}/v1/oauth/tokens
      body:
        type: form-urlencoded
        data:
        - name: grant_type
          value: ''
        - name: client_id
          value: ''
        - name: client_secret
          value: ''
        - name: scope
          value: ''
    docs: Exchange credentials for an OAuth2 access token for catalog access.
- info:
    name: Namespaces
    type: folder
  items:
  - info:
      name: List Namespaces
      type: http
    http:
      method: GET
      url: https://{catalog-host}/v1/namespaces
      params:
      - name: parent
        value: ''
        type: query
        description: Parent namespace (for nested namespaces)
      - name: pageToken
        value: ''
        type: query
      - name: pageSize
        value: ''
        type: query
    docs: List all namespaces. A namespace is a container for tables, analogous to a database or schema.
  - info:
      name: Create Namespace
      type: http
    http:
      method: POST
      url: https://{catalog-host}/v1/namespaces
      body:
        type: json
        data: '{}'
    docs: Create a new namespace with optional properties.
  - info:
      name: Get Namespace Metadata
      type: http
    http:
      method: GET
      url: https://{catalog-host}/v1/namespaces/:namespace
      params:
      - name: namespace
        value: ''
        type: path
        description: Namespace identifier (can be multi-level with ASCII unit separator)
    docs: Load metadata properties for a namespace.
  - info:
      name: Drop Namespace
      type: http
    http:
      method: DELETE
      url: https://{catalog-host}/v1/namespaces/:namespace
      params:
      - name: namespace
        value: ''
        type: path
        description: Namespace identifier (can be multi-level with ASCII unit separator)
    docs: Drop a namespace. The namespace must be empty.
  - info:
      name: Update Namespace Properties
      type: http
    http:
      method: POST
      url: https://{catalog-host}/v1/namespaces/:namespace/properties
      params:
      - name: namespace
        value: ''
        type: path
        description: Namespace identifier (can be multi-level with ASCII unit separator)
      body:
        type: json
        data: '{}'
    docs: Set or remove namespace properties.
- info:
    name: Tables
    type: folder
  items:
  - info:
      name: List Tables
      type: http
    http:
      method: GET
      url: https://{catalog-host}/v1/namespaces/:namespace/tables
      params:
      - name: namespace
        value: ''
        type: path
        description: Namespace identifier (can be multi-level with ASCII unit separator)
      - name: pageToken
        value: ''
        type: query
      - name: pageSize
        value: ''
        type: query
    docs: List all tables in a namespace.
  - info:
      name: Create Table
      type: http
    http:
      method: POST
      url: https://{catalog-host}/v1/namespaces/:namespace/tables
      params:
      - name: namespace
        value: ''
        type: path
        description: Namespace identifier (can be multi-level with ASCII unit separator)
      body:
        type: json
        data: '{}'
    docs: Create a new Iceberg table in the given namespace.
  - info:
      name: Load Table
      type: http
    http:
      method: GET
      url: https://{catalog-host}/v1/namespaces/:namespace/tables/:table
      params:
      - name: namespace
        value: ''
        type: path
        description: Namespace identifier (can be multi-level with ASCII unit separator)
      - name: table
        value: ''
        type: path
        description: Table name
      - name: snapshots
        value: ''
        type: query
        description: Which snapshots to return (all, refs, or none)
    docs: Load a table from the catalog, returning metadata and a token for updates.
  - info:
      name: Commit Table Update
      type: http
    http:
      method: POST
      url: https://{catalog-host}/v1/namespaces/:namespace/tables/:table
      params:
      - name: namespace
        value: ''
        type: path
        description: Namespace identifier (can be multi-level with ASCII unit separator)
      - name: table
        value: ''
        type: path
        description: Table name
      body:
        type: json
        data: '{}'
    docs: Commit a set of table requirement assertions and metadata updates atomically.
  - info:
      name: Drop Table
      type: http
    http:
      method: DELETE
      url: https://{catalog-host}/v1/namespaces/:namespace/tables/:table
      params:
      - name: namespace
        value: ''
        type: path
        description: Namespace identifier (can be multi-level with ASCII unit separator)
      - name: table
        value: ''
        type: path
        description: Table name
      - name: purgeRequested
        value: ''
        type: query
        description: Whether to purge table data files
    docs: Drop a table from the catalog. Optionally purge the data files.
  - info:
      name: Report Table Metrics
      type: http
    http:
      method: POST
      url: https://{catalog-host}/v1/namespaces/:namespace/tables/:table/metrics
      params:
      - name: namespace
        value: ''
        type: path
        description: Namespace identifier (can be multi-level with ASCII unit separator)
      - name: table
        value: ''
        type: path
        description: Table name
      body:
        type: json
        data: '{}'
    docs: Send scan metrics and commit metrics to the catalog for observability.
- info:
    name: Views
    type: folder
  items:
  - info:
      name: List Views
      type: http
    http:
      method: GET
      url: https://{catalog-host}/v1/namespaces/:namespace/views
      params:
      - name: namespace
        value: ''
        type: path
        description: Namespace identifier (can be multi-level with ASCII unit separator)
    docs: List all views in a namespace.
  - info:
      name: Create View
      type: http
    http:
      method: POST
      url: https://{catalog-host}/v1/namespaces/:namespace/views
      params:
      - name: namespace
        value: ''
        type: path
        description: Namespace identifier (can be multi-level with ASCII unit separator)
      body:
        type: json
        data: '{}'
    docs: Create a new Iceberg view in the namespace.
  - info:
      name: Load View
      type: http
    http:
      method: GET
      url: https://{catalog-host}/v1/namespaces/:namespace/views/:view
      params:
      - name: namespace
        value: ''
        type: path
        description: Namespace identifier (can be multi-level with ASCII unit separator)
      - name: view
        value: ''
        type: path
    docs: Load a view from the catalog.
  - info:
      name: Drop View
      type: http
    http:
      method: DELETE
      url: https://{catalog-host}/v1/namespaces/:namespace/views/:view
      params:
      - name: namespace
        value: ''
        type: path
        description: Namespace identifier (can be multi-level with ASCII unit separator)
      - name: view
        value: ''
        type: path
    docs: Drop a view from the catalog.
- info:
    name: Commits
    type: folder
  items:
  - info:
      name: Commit Multi-Table Transaction
      type: http
    http:
      method: POST
      url: https://{catalog-host}/v1/transactions/commit
      body:
        type: json
        data: '{}'
    docs: Atomically commit updates to multiple tables in a single transaction.
bundled: true