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: falseConfiguration
Available Generators
| Generator | Description | Parameters |
|---|---|---|
constant | Fixed value | value |
sequence | Incrementing numbers | start, increment |
uuid | Random UUID | - |
range | Random number in range | min, max, distribution |
enum | Random from list | values, weights |
datetime | Random or current timestamp | start, end, format |
faker | Fake 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: enJSON 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"]
}