Work in Progress: This page is under development. Use the feedback button on the bottom right to help us improve it.

Mock

Generate mock data for testing and development. Supports schema-driven data generation with various field types and generators.

Quick Example

apiVersion: laminar.io/v1
kind: Table
spec:
  name: mock_events
  connector: mock
  config:
    source_type: schema_driven
    schema_driven:
      name: events
      fields:
        - name: event_id
          type: string
          generator:
            generator_type: uuid
        - name: user_id
          type: int64
          generator:
            generator_type: range
            min: 1000
            max: 9999
        - name: event_type
          type: string
          generator:
            generator_type: enum
            values: [click, view, purchase]
        - name: timestamp
          type: timestamp
          generator:
            generator_type: datetime
      generation:
        mode: streaming
        rate: 100
  schema:
    format:
      json: {}
    fields:
      - field_name: event_id
        field_type:
          type:
            primitive: Utf8
        nullable: false
      - field_name: user_id
        field_type:
          type:
            primitive: Int64
        nullable: false
      - field_name: event_type
        field_type:
          type:
            primitive: Utf8
        nullable: false
      - field_name: timestamp
        field_type:
          type:
            primitive: DateTime
        nullable: false

Configuration

Available Generators

GeneratorDescriptionParameters
constantFixed valuevalue
sequenceIncrementing numbersstart, increment
uuidRandom UUID-
rangeRandom number in rangemin, max, distribution
enumRandom from listvalues, weights
datetimeRandom or current timestampstart, end, format
fakerFake data (names, emails, etc.)method, locale

Examples

# UUID
generator:
  generator_type: uuid
 
# Range (uniform distribution)
generator:
  generator_type: range
  min: 1
  max: 100
 
# Range (normal distribution)
generator:
  generator_type: range
  min: 0
  max: 100
  distribution: normal
 
# Weighted enum
generator:
  generator_type: enum
  values: [small, medium, large]
  weights: [0.2, 0.5, 0.3]
 
# Faker
generator:
  generator_type: faker
  method: name
  locale: en

JSON Schema Reference

Connection Table Schema
{
  "type": "object",
  "properties": {
    "source_type": {
      "type": "string",
      "enum": ["query_history", "schema_driven"]
    },
    "schema_driven": {
      "type": "object",
      "properties": {
        "name": {"type": "string"},
        "fields": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {"type": "string"},
              "type": {"type": "string"},
              "nullable": {"type": "boolean"},
              "generator": {"type": "object"}
            },
            "required": ["name", "type", "generator"]
          }
        },
        "generation": {
          "oneOf": [
            {
              "properties": {
                "mode": {"const": "batch"},
                "total": {"type": "number"},
                "batch_size": {"type": "number"}
              },
              "required": ["mode", "total"]
            },
            {
              "properties": {
                "mode": {"const": "streaming"},
                "rate": {"type": "number"},
                "runtime": {"type": "number"}
              },
              "required": ["mode", "rate"]
            }
          ]
        },
        "seed": {"type": "number"}
      },
      "required": ["name", "fields", "generation"]
    }
  },
  "required": ["source_type"]
}