search
数据采集 采集源配置 DataMock 数据模拟器

DataMock 数据模拟器

简介

通过 DataMock 数据模拟器,用户可以生成模拟数据上报到 DataFlux 中心,基于模拟数据可以快速构建和验证自身的数据洞察场景。

更新日志

  • 调整 DataWay 网关的配置方式,将只需填写 IP 和端口调整为完整的 DataWay 上报路由
  • 修复数据不随机的问题

安装

Linux 操作系统:

DataMock下载

Windows 64位操作系统:

DataMock下载

Windows 32位操作系统:

DataMock下载

Mac OS 操作系统:

DataMock下载

配置

根据对应的操作系统下载对应程序包,程序包中包含 config.yaml 文件,该文件为配置文件。

配置示例和说明:


## DataWay 网关路由地址
dataway: http://1.2.3.4:9528/v1/write/metrics

## 模拟生成数据指标集合,可配置多个
measurements:
- measurement: 订单 # 指标集名 
  interval: 1 # 上报周期,秒为单位
  tag:
  - key: 平台 ## 标签名 
    value: ['淘宝', '京东', '拼多多', '唯品会'] # 标签值,上报时会随机选择配置的元素
  - key: sku
    value: ['单裤', '长裤', '衬衫','羽绒服','袜子']
  - key: 类型
    value: ['男装','女装']

## 指标配置,可配置多个  
  field:
  - key: 单价 # 指标名
    value: [50,500] # 指标值,如果是字符串,会随机赋值,如果是整数,会在整数范围内随机赋值
    type: int # 数据类型,如果是数字型数据,可配置数据类型,float:浮点数,随机的数据会有小数点,int:整数,随机的数据不会有小数点
  - key: 优惠价格
    value: [10,20]
  - key: 成交价
    value: [40,580]

- measurement: 库存
  interval: 1
  tags:
  - sku=单裤,类型=男
  - sku=长裙,类型=女

  field:
  - key: 库存量
    value: [0,10000]
    delta: [-100,0]
    type: int

按照自己需求配置后,需启动 DataMock,不同操作系统启动方式会不一样:

  • Linux 操作系统:

进 入DataMock 目录,给 datamock 文件添加可执行权限:chmod +x datamock,然后执行 ./datamock 即可生效

  • Windows 操作系统:

配置好 config.yaml 文件后,双击 datamock.exe 运行即可

  • Mac OS 操作系统:

进 入 DataMock 目录,给 datamock 文件添加可执行权限:chmod +x datamock,然后执行 ./datamock

高级配置

标签模拟生成配置

tag 的模拟生成支持 2 种模式:完全随机产生标签组合和指定标签组合,如果 2 个模式都配置了,完全随机模式优先级更高

  • 完全随机产生标签组合:配置 tag 项,每次产生的模拟数据点会从配置的 tag 列表中随机取一个最终组成标签集合
- measurement: 订单 # 指标集名 
  interval: 1 # 上报周期,秒为单位
  tag:
  - key: 平台 ## 标签名 
    value: ['淘宝', '京东', '拼多多', '唯品会'] # 标签值,上报时会随机选择配置的元素
  - key: sku
    value: ['单裤', '长裤', '衬衫','羽绒服','袜子']
  - key: 类型
    value: ['男装','女装']
  • 指定标签组合:配置 tags 项,在 tags 项中枚举可能的标签组合,每次会随机取一个标签组合作为数据点的标签
- measurement: 库存
  interval: 1
  tags:
  - sku=单裤,类型=男
  - sku=长裙,类型=女

指标模拟生成配置

  • 指定 field 的数据类型:field 支持 3 种数据类型,float、int 和 string,如果配置的 value 是字符串,默认会将当前指标作为字符串上报,不用配置 type,如果 value 配置的数字,默认会从配置的数据范围中随机产生 float 数据上报,如果需要强制为整数类型,则需要配置 typeint
field:
  - key: 单价 # 指标名
    value: [50,500] 
    type: int
  • 递增递减配置:如果需要模拟产生的数据进行递增或者递减分布,则需要配置 delta,选项,delta 需配置 2 个值,指定递增递减量的随机范围,这时候如果 value 可以配置为 1 个元素,则配置的值作为基础的递增递减基数,如果配置了 2 个元素,如果递增递减后的值达到了第 2 个值则会重新从基量开始递增会递减
 field:
  - key: 库存量
    value: [0,10000]
    delta: [-100,0]
    type: int