Apache Doris · Schema

TableSchema

Schema definition for an Apache Doris table, describing columns, keys, and partitioning.

AnalyticsApacheDatabaseLakehouseMPPOLAPOpen SourceReal-TimeSQL

Properties

Name Type Description
tableName string Name of the table.
databaseName string Database containing the table.
tableType string Data model of the table.
keyType string Key model for the table.
columns array List of column definitions.
comment string Table comment.
replicationNum integer Number of data replicas.
View JSON Schema on GitHub

JSON Schema

apache-doris-table-schema-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/apache-doris/refs/heads/main/json-schema/apache-doris-table-schema-schema.json",
  "title": "TableSchema",
  "description": "Schema definition for an Apache Doris table, describing columns, keys, and partitioning.",
  "type": "object",
  "properties": {
    "tableName": {
      "type": "string",
      "description": "Name of the table.",
      "example": "sales_events"
    },
    "databaseName": {
      "type": "string",
      "description": "Database containing the table.",
      "example": "analytics"
    },
    "tableType": {
      "type": "string",
      "description": "Data model of the table.",
      "enum": [
        "OLAP",
        "EXTERNAL",
        "MYSQL",
        "BROKER",
        "HIVE"
      ],
      "example": "OLAP"
    },
    "keyType": {
      "type": "string",
      "description": "Key model for the table.",
      "enum": [
        "DUP_KEYS",
        "AGG_KEYS",
        "UNIQUE_KEYS"
      ],
      "example": "DUP_KEYS"
    },
    "columns": {
      "type": "array",
      "description": "List of column definitions.",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Column name.",
            "example": "event_time"
          },
          "type": {
            "type": "string",
            "description": "Doris data type.",
            "example": "DATETIME"
          },
          "isKey": {
            "type": "boolean",
            "description": "Whether this column is part of the key.",
            "example": false
          },
          "nullable": {
            "type": "boolean",
            "description": "Whether this column allows NULL values.",
            "example": true
          },
          "comment": {
            "type": "string",
            "description": "Column comment.",
            "example": "Timestamp of the event"
          }
        }
      }
    },
    "comment": {
      "type": "string",
      "description": "Table comment.",
      "example": "Sales event records table"
    },
    "replicationNum": {
      "type": "integer",
      "description": "Number of data replicas.",
      "default": 3,
      "example": 3
    }
  },
  "required": [
    "tableName",
    "databaseName",
    "keyType"
  ]
}