Hello 各位 V2EX 的佬佬们好 本人数分,每日取数占用了很长时间 公司数据库众多,mysql ,mongodb ,maxcomputer 等等 最近想用 python 搭建个企业数据流转平台 公司目前数据质量还可以,各部门经常需要各种数据,很多已有后台满足不了他们的需求,导致我们数据分析侧三个人每天取数都能占用 80%的时间 核心功能点是:用户可以根据一些基础字段或者特定逻辑来点点获取想要的信息 当然会加入权限控制,涉敏字段管控,以及各部门领导对手下人的可拉取数据管控等等 目前的想法是前后端自己一把梭,目前前端完全忘记,后端会一点 fastapi 我自己的想法是这肯定需要对公司各种数据库的字段建模,单 mysql 里就有几百张表,而且可能会有数据迁移到数仓的情况发生,这些都需要考虑到,不能经常歇菜,大批量数据查询也需要对任务进行拆分 想问问各位佬佬有什么意见,望不吝赐教
1
sqlman OP 。。。第一次发帖,这个自动排版
|
2
dayeye2006199 227 天前 via Android
你是要做个数据仓库出来吗
|
3
Garphy 226 天前
你这是抢帆软的饭碗
|
4
ohayoo 226 天前
大概理解了你的意思,就类似于 CDN 的控制台,用户可以根据自己的需求查看对应时间内域名的带宽、流量、请求数、状态码、热门 IP 、热门 referer 、热门 URL 、热门 UA 等等。原本取数据可能是同事把需求丢给你们,由你们去取,现在你就想做个平台,把字段什么的做成选择器、输入框之类的,这样同事通过平台点点点、勾选勾选就能取到想要的数据了
|
5
idontnowhat2say 226 天前
不知道。但看这需求量你们三个数据分析的人写,估计悬。
|
6
makerbi 226 天前
如果没时间或者没兴趣学前端的话,可以考虑 AMIS ( https://baidu.github.io/amis/zh-CN/docs/index ),就只是取个数展示啥的完全够用了。
|
8
sqlman OP @idontnowhat2say 我一个人,另外两个能力不行
|
10
ohayoo 226 天前
@sqlman #7 哈哈哈哈哈哈,我对你这个需求挺感兴趣的,我都想尝试帮你写点模块,完全不要一分钱,纯粹是空闲时间多,想提高代码能力,奈何水平不够,非专业程序员,之前只是为了提供工作效率,用 fastapi 或 flask + vue + css + js 等东拼西凑弄过一些单页面的 web 应用,页面上就时间选择器、单选、多选、文本输入框、提交按钮、然后一个 POST 丢到后端,实在拿不出手,简单的单页面应用,在 [平台] 两个字面前就是弟中弟
|
11
zyxbcde 224 天前 via iPhone
这个我们公司做了,用的就是 fastapi 。
就把取数逻辑固化,然后平铺在网页上,然后让人去点就行了,想要哪个点哪个。 我们公司取数逻辑相对固定,主要变的是时间,比如取上个月的,上上个月,上季末,上年末,上上年末这种。然后就是 sql 里逻辑和时间的排列组合。 基本就是我写核心代码,两个菜鸡小弟去写 sql 语句。 |
14
sqlman OP @zyxbcde 奥奥,那大家差不多,你是咋写的哈哈哈,我这边打算将用户勾选的字段拆成单表查询然后放到任务队列里跑,一个大任务拆分成若干个小任务,然后在汇总合并 excel
|
15
zyxbcde 199 天前 via iPhone
一模一样的逻辑。
首先有个在页面配 sql ,一个 label 配一个 sql ,日期等信息通过 jinja2 语法动态替换,然后搞一个执行器,这个执行器负责对每一个被查询对象执行那一堆 sql 。再搞个拆任务得函数,跑 100 户一个批次,用批次数除以总任务数得到进度,把进度和 excel 地址通过 sse 返回前端,前端展示任务进度条。跑完了前端调用下载接口。 如果是金融场景可以交流下 |