Skip to content

配置说明

chenjipdc edited this page Jul 6, 2023 · 12 revisions

mocks读取的配置是一个json配置文件,并且是array类型。

例如:

[
  {
    "order":1,
    "size": 1000,
    "name": "",
    "mocks": [
      {
        "type": "file-json",
        "columns": [
          "id", "name"
        ],
        "aliases": {
          "id": "my_id",
          "name": "my_name"
        },
        "config": {
          "path": "/tmp/file-json.txt",
          "limit": 1000
        }
      }
    ],
    "sinks": [
      {
        "type": "rabbitmq",
        "mappings": {
          "id": "my_id",
          "name": "my_name"
        },
        "config": {
          "host": "127.0.0.1",
          "port": 5672,
          "username": "guest",
          "password": "guest",
          "queueConfig": {
            "name": "my_queue",
            "durable": true
          },
          "exchangeConfig": {
            "name": "my_exchange"
          },
          "bindConfig": {
            "exchange": "my_exchange",
            "queue": "my_queue"
          }
          
        }
      }
    ]
  }
]

配置字段说明

字段 类型 说明
size int 生成的数据条数
order int 配置的顺序,控制顺序可以使不同的配置线性执行
name string 配置名称
mocks array mock插件配置(数据从哪里来的),具体查看mocks字段说明
sinks array sink插件配置(数据流向哪里),具体查看sinks字段说明

mocks字段说明

字段 类型 说明
type string mock插件类型,具体看type配置说明
name string 名称
columns array 字段名称,用于数据库等字段
aliases map 字段别名,主要用于数据池字段等名字冲突
config json 插件的参数配置,具体看type配置说明

mock type类型与参数说明

普通类型

long
字段 类型 说明
autoincrement bool 是否自增,默认false
start long 开始值
end long 结束值
int
字段 类型 说明
autoincrement bool 是否自增,默认false
start int 开始值
end int 结束值
short
字段 类型 说明
autoincrement bool 是否自增,默认false
start short 开始值
end short 结束值
float
字段 类型 说明
start float 开始值
end float 结束值
double
字段 类型 说明
start double 开始值
end double 结束值
bool
字段 类型 说明
bytes
字段 类型 说明
length int 字节长度
date
字段 类型 说明
start date 开始值
end date 结束值
format string 默认"yyyy-MM-dd HH:mm:ss"
timeZoneId string 默认"Asia/Shanghai"
ip
字段 类型 说明
type string 类型:v4,v4_wan,v4_lan,v4_lan_a,v4_lan_b,v4_lan_c
snowflake

雪花id

字段 类型 说明
datacenterId long 序列号
workerId long 工作机器id
text
字段 类型 说明
text string 文本内容
split string 切割文本字符串
uuid
字段 类型 说明
pretty bool 是否去掉'-',默认true去掉
geo

返回经纬度

字段 类型 说明

文件

file-text

文件所有内容进行切割

字段 类型 说明
path string 文件路径
split string 切割文本字符串
file-json

文件一行为一个json对象

字段 类型 说明
path string 文件路径
limit int 读取多少条
file-delimiter

文件一行为一个对象,类似csv,根据cloumns匹配对应的字段

字段 类型 说明
path string 文件路径
delimiter string 切割字符串,默认','
limit int 读取多少条

数据库

mysql
字段 类型 说明
jdbcUrl string jdbc url
username string username
password string password
table string 表名
lastSql string 查询sql最后拼接字符串:例如加 'limit'
mongo
字段 类型 说明
address string 地址,默认"localhost:27017"
username string username
password string password
database string 数据库
collection string 表名
findJson string find 查询条件
batch int 批量获取数据
limit int limit size
connectParams string uri连接参数

其他

thread

当前线程名字

字段 类型 说明
name

中文名字

字段 类型 说明

sinks字段说明

字段 类型 说明
type string mock插件类型,具体看type配置说明
name string 名称
size int 从数据池中取多少条数据
loop int 以size大小循环多少次, 可用于多线程加速写入数据
mappings map key为数据池字段名称, value为数据源mocks的aliases
config json 插件的参数配置,具体看type配置说明

sink type类型与参数说明

文件

file-json

文件一行为一个json对象

字段 类型 说明
batch int 批量写入大小,默认2000
path string 文件路径
autoCreated bool 是否自动创建文件,默认true
append bool 文件是否追加内容,默认false
file-delimiter

文件一行为一个对象,类似csv,根据cloumns匹配对应的字段

字段 类型 说明
batch int 批量写入大小,默认2000
path string 文件路径
delimiter string 切割字符串,默认','
autoCreated bool 是否自动创建文件,默认true
append bool 文件是否追加内容,默认false

数据库

mysql
字段 类型 说明
batch int 批量写入大小,默认2000
driverClass string 驱动完整类名
jdbcUrl string jdbc url,例如:jdbc:mysql://localhost:3306/sink?characterEncoding=utf8
username string username
password string password
initSql string 初始化时执行的sql,可用于表未创建时自动创建表
table string 表名
logSql bool 是否打印sql,默认false
mongo
字段 类型 说明
batch int 批量写入大小,默认2000
address string 地址,默认:localhost:27017
username string username
password string password
database string 数据库
collection string 表名
connectParams string uri连接参数
elasticsearch
字段 类型 说明
batch int 批量写入大小,默认2000
host string host 默认:localhost
port int host 默认:9200
username string username
password string password
table string 表名
id string id字段名称, mappings后的名称
clickhouse
字段 类型 说明
batch int 批量写入大小,默认2000
driverClass string 驱动完整类名
jdbcUrl string jdbc url,例如:jdbc:ch://localhost:8123/sink
username string username
password string password
initSql string 初始化时执行的sql,可用于表未创建时自动创建表
table string 表名
logSql bool 是否打印sql,默认false
postgresql
字段 类型 说明
batch int 批量写入大小,默认2000
driverClass string 驱动完整类名
jdbcUrl string jdbc url,例如:jdbc:postgresql://localhost:5432/sink
username string username
password string password
initSql string 初始化时执行的sql,可用于表未创建时自动创建表
table string 表名
logSql bool 是否打印sql,默认false

消息队列

rocketmq
字段 类型 说明
endpoint string 默认"localhost:9876"
topic string 默认"sink"
group string 默认"DEFAULT"
tag string 默认"*"
keys string keys
rabbitmq
字段 类型 说明
host string 默认"localhost"
port int 默认5672
username string 默认"guest"
password string 默认"guest"
exchangeConfig json 交换机配置
queueConfig json 队列配置
bindConfig json 交换机与队列绑定配置

exchangeConfig配置

字段 类型 说明
name string 默认"default"
type string 默认"direct"
autoDelete bool 默认false
durable bool 默认false
interval bool 默认false
arguments map 交换机参数

queueConfig配置

字段 类型 说明
name string 默认"mocks-sink"
autoDelete bool 默认false
durable bool 默认false
interval bool 默认false
arguments map 队列参数

bindConfig配置

字段 类型 说明
exchange string 默认"default"
queue string 默认"mocks-sink"
routingKey string 默认queue名称
arguments map 绑定参数
kafka
字段 类型 说明
endpoint string 默认"localhost:9092"
topic string 默认"sink"
acks string 默认"0"
batch int 默认2000

其他

log
字段 类型 说明
pretty bool 美化打印,默认true
ignore

忽略掉当前sink配置

字段 类型 说明

converter字段说明

converter type类型与参数说明

normal

bigint-to-long
date-to-string
字段 类型 说明
format string 默认:"yyyy-MM-dd HH:mm:ss"
timeZoneId string 默认:"Asia/Shanghai"
double-quote-string
quote-string
to-string
string-to-int
string-to-long
string-to-short
string-to-bool
string-to-float
string-to-double
string-to-decimal
string-to-date
字段 类型 说明
format string 默认:"yyyy-MM-dd HH:mm:ss"
timeZoneId string 默认:"Asia/Shanghai"
string-replace
字段 类型 说明
placeholder string 目标字符串
replacement string 替换字符串
string-insert
字段 类型 说明
placeholder string 目标字符串
index int 默认:0,超出范围则将字符串拼接在头或者尾
exchange bool 交换目标字符串跟插入字符串谁为placeholder,默认false。true则将插入字符串置为placeholder