Apache Iceberg · JSON Structure

Rest Catalog Open Api Table Metadata Structure

TableMetadata schema from Apache Iceberg REST Catalog API

Type: object Properties: 23 Required: 2
ACIDAnalyticsApacheData LakeLakehouseOpen SourceTable Format

TableMetadata is a JSON Structure definition published by Apache Iceberg, describing 23 properties, of which 2 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

format-version table-uuid location last-updated-ms next-row-id properties schemas current-schema-id last-column-id partition-specs default-spec-id last-partition-id sort-orders default-sort-order-id encryption-keys snapshots refs current-snapshot-id last-sequence-number snapshot-log metadata-log statistics partition-statistics

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "type": "object",
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/apache-iceberg/refs/heads/main/json-structure/rest-catalog-open-api-table-metadata-structure.json",
  "name": "TableMetadata",
  "description": "TableMetadata schema from Apache Iceberg REST Catalog API",
  "properties": {
    "format-version": {
      "type": "integer",
      "minimum": 1,
      "maximum": 3
    },
    "table-uuid": {
      "type": "string"
    },
    "location": {
      "type": "string"
    },
    "last-updated-ms": {
      "type": "int64"
    },
    "next-row-id": {
      "type": "int64",
      "description": "A long higher than all assigned row IDs; the next snapshot's first-row-id."
    },
    "properties": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    },
    "schemas": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Schema"
      }
    },
    "current-schema-id": {
      "type": "integer"
    },
    "last-column-id": {
      "type": "integer"
    },
    "partition-specs": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PartitionSpec"
      }
    },
    "default-spec-id": {
      "type": "integer"
    },
    "last-partition-id": {
      "type": "integer"
    },
    "sort-orders": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SortOrder"
      }
    },
    "default-sort-order-id": {
      "type": "integer"
    },
    "encryption-keys": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EncryptedKey"
      }
    },
    "snapshots": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Snapshot"
      }
    },
    "refs": {
      "$ref": "#/components/schemas/SnapshotReferences"
    },
    "current-snapshot-id": {
      "type": "int64"
    },
    "last-sequence-number": {
      "type": "int64"
    },
    "snapshot-log": {
      "$ref": "#/components/schemas/SnapshotLog"
    },
    "metadata-log": {
      "$ref": "#/components/schemas/MetadataLog"
    },
    "statistics": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/StatisticsFile"
      }
    },
    "partition-statistics": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PartitionStatisticsFile"
      }
    }
  },
  "required": [
    "format-version",
    "table-uuid"
  ]
}