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 · 227 天前 via Android · 1134 次点击
    这是一个创建于 227 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    基本就是我写核心代码,两个菜鸡小弟去写 sql 语句。
    sqlman
        12
    sqlman  
    OP
       221 天前 via Android
    @zyxbcde 羡慕如此简单的取数逻辑,我们公司数据库众多,业务也多,各种乱七八糟的指标。。。
    zyxbcde
        13
    zyxbcde  
       217 天前 via iPhone
    @sqlman 多啊,我们取数逻辑堆了 700 个了,表也得 400 张,也都不在一个库。
    sqlman
        14
    sqlman  
    OP
       208 天前 via Android
    @zyxbcde 奥奥,那大家差不多,你是咋写的哈哈哈,我这边打算将用户勾选的字段拆成单表查询然后放到任务队列里跑,一个大任务拆分成若干个小任务,然后在汇总合并 excel
    zyxbcde
        15
    zyxbcde  
       199 天前 via iPhone
    一模一样的逻辑。
    首先有个在页面配 sql ,一个 label 配一个 sql ,日期等信息通过 jinja2 语法动态替换,然后搞一个执行器,这个执行器负责对每一个被查询对象执行那一堆 sql 。再搞个拆任务得函数,跑 100 户一个批次,用批次数除以总任务数得到进度,把进度和 excel 地址通过 sse 返回前端,前端展示任务进度条。跑完了前端调用下载接口。
    如果是金融场景可以交流下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1042 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 22:35 · PVG 06:35 · LAX 14:35 · JFK 17:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.