mirror of
https://github.com/featurebasedb/featurebase.git
synced 2026-08-28 10:54:59 +00:00
96 lines
2.9 KiB
YAML
96 lines
2.9 KiB
YAML
fields:
|
|
- name: "id"
|
|
type: uint # (default IDField (non-mutex))
|
|
distribution: "sequential"
|
|
min: 0
|
|
max: 1000000000 # 1B
|
|
repeat: false # if false, data generation stops when we hit >= max. only available with sequential
|
|
step: 1
|
|
- name: "age"
|
|
type: int
|
|
distribution: "uniform" # uniform or zipfian # TODO should totally add some kind of poission, normal, gaussian, bimodal
|
|
min: 15
|
|
max: 107
|
|
null_chance: 0.01
|
|
- name: "education_level"
|
|
type: string
|
|
source_file: "values/education.txt"
|
|
distribution: "zipfian"
|
|
s: 1.1
|
|
v: 5.1
|
|
- name: "gender"
|
|
type: string
|
|
source_file: "values/gender.txt"
|
|
distribution: "fixed"
|
|
- name: "income_bracket"
|
|
type: string
|
|
source_file: "values/income.txt"
|
|
- name: "domain"
|
|
type: "string-set"
|
|
min_num: 1
|
|
max_num: 6
|
|
source_file: "values/opendns-top-domains-10K.txt"
|
|
distribution: "zipfian"
|
|
s: 1.5
|
|
v: 4.3
|
|
- name: "timestamp"
|
|
type: "timestamp" # (default TimestampField)
|
|
min_date: 2006-01-02T15:04:05.001Z # RFC3339Nano
|
|
max_date: 2010-01-02T15:04:05.001Z # RFC3339Nano
|
|
distribution: "increasing" # only "increasing" is supported right now
|
|
min_step_duration: "10us"
|
|
max_step_duration: "100ms" # generated values will add randomly between 1s and 1h to previous value starting at min_date.
|
|
repeat: false # stop at > max_date unless repeat=true... then go back to min.
|
|
- name: "political_party"
|
|
type: "string"
|
|
source_file: "values/political_parties.txt"
|
|
distribution: "zipfian"
|
|
s: 1.0001
|
|
v: 1.0001
|
|
- name: "ltv"
|
|
type: "float" # use idk_params to choose a scale
|
|
min_float: 0.2
|
|
max_float: 1500
|
|
distribution: "uniform" # only supported value
|
|
- name: "hobby"
|
|
type: "string-set"
|
|
source_file: "values/hobbies.txt"
|
|
distribution: "zipfian"
|
|
min_num: 0
|
|
max_num: 4
|
|
s: 1.3
|
|
v: 2.5
|
|
|
|
# idk_params describe how data from "fields" should be ingested by IDK
|
|
idk_params:
|
|
primary_key_config:
|
|
field: "id" # if this is a single field named "id" then we'll use uint IDs, if it's empty we'll autogen ids, and if it's anything else we'll do string keys... yes this is a bit hacky, needs to be cleaned up.
|
|
# fields is keyed by names of fields from top level "fields". It is
|
|
# not required that all fields appear here, those that don't will
|
|
# use the default ingestion.
|
|
fields:
|
|
id:
|
|
- type: "ID"
|
|
timestamp:
|
|
- type: "RecordTime"
|
|
layout: "2006-01-02T15:04:05Z"
|
|
epoch: 1970-01-01T00:00:00.0Z
|
|
name: "na"
|
|
domain:
|
|
- type: "StringArray"
|
|
time_quantum: "YMD"
|
|
ltv:
|
|
- type: "Decimal"
|
|
scale: 2
|
|
income_bracket:
|
|
- type: "String"
|
|
mutex: true
|
|
education_level:
|
|
- type: "String"
|
|
mutex: true
|
|
gender:
|
|
- type: "String"
|
|
mutex: true
|
|
political_party:
|
|
- type: "String"
|
|
mutex: true
|