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

234 天前
 sqlman

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

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

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

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

基本就是我写核心代码,两个菜鸡小弟去写 sql 语句。
sqlman
228 天前
@zyxbcde 羡慕如此简单的取数逻辑,我们公司数据库众多,业务也多,各种乱七八糟的指标。。。
zyxbcde
224 天前
@sqlman 多啊,我们取数逻辑堆了 700 个了,表也得 400 张,也都不在一个库。
sqlman
216 天前
@zyxbcde 奥奥,那大家差不多,你是咋写的哈哈哈,我这边打算将用户勾选的字段拆成单表查询然后放到任务队列里跑,一个大任务拆分成若干个小任务,然后在汇总合并 excel
zyxbcde
207 天前
一模一样的逻辑。
首先有个在页面配 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