想去夏威夷的少年为你答疑解惑 level
获赞
0
粉丝
0
关注
2
看过 TA
6
南昌大学
2028
数据仓库
IP属地:江西
暂未填写个人简介
私信
关注
我做了一个开源的电商数据模拟平台(非科班转数据工程)最近把自己做了几个月的项目整理开源了,想记录一下整个过程。我是广告学背景,大二开始转向数据工程方向。一开始学习数仓、Hive、SQL 时,很快遇到一个特别现实的问题:没有数据。很多教程默认数据已经存在,但真正自己练习时发现:- 培训班给的数据太简单- 没有真实业务流程- 很难做数仓分层练习- ETL、建模基本练不起来当时的感受就是:学的东西很多,但没有可以真正动手的数据。---第一阶段:用 MySQL 硬模拟数据(踩坑阶段)最开始我直接用 MySQL 写 SQL 生成数据。大概折腾了一个多月:- 用笛卡尔积拼用户、订单数据- 一批一批 insert- 不断调 SQL结果非常痛苦:- SQL 极其复杂- 数据关系难维护- 插入 10 万订单还能忍- 想生成 100 万订单时数据库经常直接卡死或超时那时候我第一次意识到:数据库适合查询数据,但不适合生成复杂业务数据。---第二阶段:改用 Python 重写模拟器后来我把整个逻辑改成 Python。体验直接发生变化:- 数据规模可以自由控制- 业务逻辑可以写成代码- 订单生命周期可以真实模拟- 生成速度比 SQL 快很多当时甚至有点无语:早知道就不该用 SQL 硬写一个月 😂写完后我已经能随便生成数据做数仓练习了。但新的问题出现了:每次都要改参数、跑脚本。于是我开始想:能不能把它做成一个网站?---第三阶段:把模拟器做成 Web 平台后来开始学习 FastAPI,把模拟器做成 Web 控制台。目标很简单:- 不写代码也能生成数据- 点一下按钮就能出数据- 参数可配置- 可以重复实验于是就有了现在的 Web UI。---第四阶段:从个人工具到开源项目在自学过程中我越来越确定一件事:很多数据工程初学者真正缺的不是教程,而是:可用的数据。所以我决定把这个项目开源。它从:个人学习脚本→ 数据模拟工具→ 可公开使用的平台慢慢演化出来。---第五阶段:加入 Docker 一键运行后来又发现一个问题:很多人环境装不起来。于是又加了 Docker。现在基本可以做到:docker run data-sim直接启动。---为什么做这个项目因为我自己经历过:学数仓的时候,没有数据真的很难受。如果这个项目能帮到后来的人,那它就有意义了。GitHub(欢迎交流):https://github.com/learner2638/ecommerce-data-simulator
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务