公司数据流转平台如何从 0 开始搭建? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
sqlman
V2EX    Python

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

  •  
  •   sqlman 2024-04-01 22:28:56 +08:00 via Android 1635 次点击
    这是一个创建于 557 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    基本就是我写核心代码,两个菜鸡小弟去写 sql 语句。
    sqlman
        12
    sqlman  
    OP
       2024-04-07 22:47:44 +08:00 via Android
    @zyxbcde 羡慕如此简单的取数逻辑,我们公司数据库众多,业务也多,各种乱七八糟的指标。。。
    zyxbcde
        13
    zyxbcde  
       2024-04-11 20:04:33 +08:00 via iPhone
    @sqlman 多啊,我们取数逻辑堆了 700 个了,表也得 400 张,也都不在一个库。
    sqlman
        14
    sqlman  
    OP
       2024-04-20 11:31:18 +08:00 via Android
    @zyxbcde 奥奥,那大家差不多,你是咋写的哈哈哈,我这边打算将用户勾选的字段拆成单表查询然后放到任务队列里跑,一个大任务拆分成若干个小任务,然后在汇总合并 excel
    zyxbcde
        15
    zyxbcde  
       2024-04-29 12:53:21 +08:00 via iPhone
    一模一样的逻辑。
    首先有个在页面配 sql ,一个 label 配一个 sql ,日期等信息通过 jinja2 语法动态替换,然后搞一个执行器,这个执行器负责对每一个被查询对象执行那一堆 sql 。再搞个拆任务得函数,跑 100 户一个批次,用批次数除以总任务数得到进度,把进度和 excel 地址通过 sse 返回前端,前端展示任务进度条。跑完了前端调用下载接口。
    如果是金融场景可以交流下
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1245 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 17:21 PVG 01:21 LAX 10:21 JFK 13:21
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86