公司数据流转平台如何从 0 开始搭建?

2024-04-01 22:28:56 +08:00
 sqlman

Hello 各位 V2EX 的佬佬们好 本人数分,每日取数占用了很长时间 公司数据库众多,mysql ,mongodb ,maxcomputer 等等 最近想用 python 搭建个企业数据流转平台 公司目前数据质量还可以,各部门经常需要各种数据,很多已有后台满足不了他们的需求,导致我们数据分析侧三个人每天取数都能占用 80%的时间 核心功能点是:用户可以根据一些基础字段或者特定逻辑来点点获取想要的信息 当然会加入权限控制,涉敏字段管控,以及各部门领导对手下人的可拉取数据管控等等 目前的想法是前后端自己一把梭,目前前端完全忘记,后端会一点 fastapi 我自己的想法是这肯定需要对公司各种数据库的字段建模,单 mysql 里就有几百张表,而且可能会有数据迁移到数仓的情况发生,这些都需要考虑到,不能经常歇菜,大批量数据查询也需要对任务进行拆分 想问问各位佬佬有什么意见,望不吝赐教

1571 次点击
所在节点    Python
15 条回复
sqlman
2024-04-01 22:29:35 +08:00
。。。第一次发帖,这个自动排版
dayeye2006199
2024-04-01 23:29:27 +08:00
你是要做个数据仓库出来吗
Garphy
2024-04-02 11:32:15 +08:00
你这是抢帆软的饭碗
ohayoo
2024-04-02 16:14:13 +08:00
大概理解了你的意思,就类似于 CDN 的控制台,用户可以根据自己的需求查看对应时间内域名的带宽、流量、请求数、状态码、热门 IP 、热门 referer 、热门 URL 、热门 UA 等等。原本取数据可能是同事把需求丢给你们,由你们去取,现在你就想做个平台,把字段什么的做成选择器、输入框之类的,这样同事通过平台点点点、勾选勾选就能取到想要的数据了
idontnowhat2say
2024-04-02 16:28:40 +08:00
不知道。但看这需求量你们三个数据分析的人写,估计悬。
makerbi
2024-04-02 16:31:27 +08:00
如果没时间或者没兴趣学前端的话,可以考虑 AMIS ( https://baidu.github.io/amis/zh-CN/docs/index ),就只是取个数展示啥的完全够用了。
sqlman
2024-04-02 19:56:28 +08:00
@ohayoo 对对对,就是这个样子
sqlman
2024-04-02 19:57:00 +08:00
@idontnowhat2say 我一个人,另外两个能力不行
sqlman
2024-04-02 19:57:18 +08:00
@makerbi 好的我看下,感谢大佬
ohayoo
2024-04-02 22:35:54 +08:00
@sqlman #7 哈哈哈哈哈哈,我对你这个需求挺感兴趣的,我都想尝试帮你写点模块,完全不要一分钱,纯粹是空闲时间多,想提高代码能力,奈何水平不够,非专业程序员,之前只是为了提供工作效率,用 fastapi 或 flask + vue + css + js 等东拼西凑弄过一些单页面的 web 应用,页面上就时间选择器、单选、多选、文本输入框、提交按钮、然后一个 POST 丢到后端,实在拿不出手,简单的单页面应用,在 [平台] 两个字面前就是弟中弟
zyxbcde
2024-04-04 21:44:58 +08:00
这个我们公司做了,用的就是 fastapi 。

就把取数逻辑固化,然后平铺在网页上,然后让人去点就行了,想要哪个点哪个。

我们公司取数逻辑相对固定,主要变的是时间,比如取上个月的,上上个月,上季末,上年末,上上年末这种。然后就是 sql 里逻辑和时间的排列组合。

基本就是我写核心代码,两个菜鸡小弟去写 sql 语句。
sqlman
2024-04-07 22:47:44 +08:00
@zyxbcde 羡慕如此简单的取数逻辑,我们公司数据库众多,业务也多,各种乱七八糟的指标。。。
zyxbcde
2024-04-11 20:04:33 +08:00
@sqlman 多啊,我们取数逻辑堆了 700 个了,表也得 400 张,也都不在一个库。
sqlman
2024-04-20 11:31:18 +08:00
@zyxbcde 奥奥,那大家差不多,你是咋写的哈哈哈,我这边打算将用户勾选的字段拆成单表查询然后放到任务队列里跑,一个大任务拆分成若干个小任务,然后在汇总合并 excel
zyxbcde
2024-04-29 12:53:21 +08:00
一模一样的逻辑。
首先有个在页面配 sql ,一个 label 配一个 sql ,日期等信息通过 jinja2 语法动态替换,然后搞一个执行器,这个执行器负责对每一个被查询对象执行那一堆 sql 。再搞个拆任务得函数,跑 100 户一个批次,用批次数除以总任务数得到进度,把进度和 excel 地址通过 sse 返回前端,前端展示任务进度条。跑完了前端调用下载接口。
如果是金融场景可以交流下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1028947

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX