首先需要下载python,我这里给一个下载地址:

Python Mirror  下载之后安装就可以使用,下边是一个github的使用方法

doc/zh_CN/使用举例.md · 臭屁小米豆他爹/datafaker - Gitee.com

然后安装datafaker,打开cmd命令行,然后输入,下载datafaker

pip install datafaker

 安装成功之后就可以关闭命令行

我们下载好的datafaker在Python的Scripts目录下,可以看到里边有一个bank_table_head.txt文件,这是自己新建的,用来批量构建数据

 这个txt文件的写法如下:具体数据构造规则太多了给个链接,有兴趣可以自己看

doc/zh_CN/数据构造规则.md · 臭屁小米豆他爹/datafaker - Gitee.com

id||int||自增id[:inc(id,1)]
name||varchar(20)||学生名字
school||varchar(20)||学校名字[:enum(file://names.txt)]
nickname||varchar(20)||学生小名[:enum(鬼泣, 高小王子, 歌神, 逗比)]
age||int||学生年龄[:age]
class_num||int||班级人数[:int(10, 100)]
score||decimal(4,2)||成绩[:decimal(4,2,1)]
phone||bigint||电话号码[:phone_number]
email||varchar(64)||家庭网络邮箱[:email]
ip||varchar(32)||IP地址[:ipv4]
address||text||家庭地址[:address]

 id||int||自增id[:inc(id,10389)]
file_id||int||文件id[:int(70000, 100000)]
table_head_info||varchar(55)||表头信息[:enum(鬼泣, 高小王子, 歌神, 逗比)]

 然后就在这个txt文件所在地直接cmd命令,不然找不到这个txt文件,然后输入

$ datafaker rdb mysql+mysqldb://root:root@localhost:3600/test?charset=utf8 stu 10 --outprint --meta meta.txt --outspliter 
musqldb:后边的是/账号/密码/端口号/库名?编码格式/表名 数据量  参数的使用自己看  选择模板   参数

 datafaker参数包含4个必选参数和一些可选参数,如下表所示

参数名 含义 参数类型 是否必选 默认值 备注
dbtype 数据源类型 string 可选值为 rdb,mysql,hive, kafka, hbase, es, file
connect 数据源连接信息 string 关系型数据库和hive为 sqlachemy的连接串
kafka为broker连接串
file为文件路径
hbase为thrift host和端口
table 表名 string 将各种数据源操作单位都抽象为表,数据库中为表,kafka中为topic,file为文件名,hbase为表,es为索引和type,mongo为集合
num 数据条数 int 其中kafka必须为1
auth 账号密码 string 数据源的账号密码,以:分隔,例如 admin:12334
meta 元数据文件 string 若设定该参数,则忽略从数据源连接信息中读取远数据
metaj 元数据文件 string 自定义数据结构(一般用于json嵌套),metaj优先于meta参数
interval 流数据产生间隔 float 1 单位秒
version 显示版本号 bool
outprint 是否在屏幕打印 bool false 若设置屏幕打印,则数据不会写文件或数据源
outspliter 数据字段分割符 string , 屏幕打印,保存文件有效
locale 语言类型 string zh_CN 支持多国语言,en_US, zh_CN
format 数据格式 string text kafka 默认为json
withheader 打印和存储到文件是否带表头 bool False
batch 每次批量写入数据源大小 int 1000
workers 生成测试数据的线程数 int 4

 这是我写的一个例子:可以实现8个线程每次2000批量插入50000条数据,打印需要时间

 datafaker rdb  mysql+mysqldb://账号密码端口号/库名?charset=utf8 bank_table_head 50000 --meta  bank_table_head.txt  --worker 8  --batch 2000

 可能会出现一些问题,在网上百度解决一下,或者多试几次

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐