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
levelworm
V2EX  ›  Python

给准备做 BI 数据可视化的朋友一个建议

  •  2
     
  •   levelworm · 2020-03-14 10:20:24 +08:00 · 8848 次点击
    这是一个创建于 1745 天前的主题,其中的信息可能已经有所发展或是发生改变。

    鉴于这里大多数都是有点编程能力的朋友,建议如果有能力选择工具,而不是让上面指派工具的话,不要用商业的可视化软件,比如 Power BI 或者 Tableau 之类的,而是用编程语言做。比如 Python + Dash。当然你是大公司就算了,大公司自己也没能力选择。

    我没用过 Grafana 等通常是开发用的可视化工具,所以我不确定,但是如果是做商业数据可视化的,一般大家自然的选择就是 Power BI 或者 Tableau 之类的。这两个我都用过一段时间,深刻体会到受制于人的痛苦。

    简单的来说,就是适合快速搭积木,但是可控性比较差,只能用对方提供的功能。Python + Dash 或者 JS + 类似的库(我不会 JS ),开始开发的时候比较慢,但是搭建好框架了就会快一些了。

    33 条回复    2020-03-19 22:52:12 +08:00
    Counter
        1
    Counter  
       2020-03-14 10:24:13 +08:00 via Android
    谢谢楼主分享
    levelworm
        2
    levelworm  
    OP
       2020-03-14 10:25:46 +08:00
    当然我这也是个人意见,可能我这人比较喜欢编程,所以喜欢那种自己能够掌控的感觉。Power BI 这些工具肯定还是好的,绝大部分地方还是可以用的,无非是有些地方要忍,有些地方要做一些扭曲。
    beiping96
        3
    beiping96  
       2020-03-14 10:31:07 +08:00
    metabase?
    puncsky
        4
    puncsky  
       2020-03-14 10:32:26 +08:00
    metabase +1
    nokisubye
        5
    nokisubye  
       2020-03-14 10:43:05 +08:00
    metabase 见过也有用得挺好的公司
    mnssbe
        6
    mnssbe  
       2020-03-14 10:59:02 +08:00 via iPhone
    superset metabase redash
    clions
        7
    clions  
       2020-03-14 11:11:26 +08:00
    帆。。。帆。。帆软?
    Robbi
        8
    Robbi  
       2020-03-14 11:13:11 +08:00 via iPhone
    Power BI 这两年吹上了天,大数据的风啊,一阵一阵
    littlefatpaper
        9
    littlefatpaper  
       2020-03-14 11:25:17 +08:00
    这种二次开发,你要深度定制业务的时候就搞死人的,根本拓展不了。开发时图的一点小便宜,后面有可能是灾难。我们公司原来想用阿里数加平台做,后来考虑到种种原因还是决定自己用原生 js 做前端了。
    wangxiaoaer
        10
    wangxiaoaer  
       2020-03-14 11:28:54 +08:00 via Android
    BI 到底是个什恶魔东西?

    是不是阿里 Datav 那些大屏可视化的?
    LightLolo
        11
    LightLolo  
       2020-03-14 11:29:19 +08:00
    作为一个从 BI 行业转去写代码的人来说:
    选型商业的可视化软件可以在项目上快速交付,便捷性的时候和快速上手也是一种良好的体验。
    但是对于个人技术成长和深度的定制化及开发的时候,蛋就碎的厉害了。
    louhubiao
        12
    louhubiao  
       2020-03-14 11:34:17 +08:00
    商业或者开源的 bi 工具考虑的太多,适合分析师使用,直观分析数据、产出报表、发送邮件。如果要给非分析师使用(老板、运营),还是需要自己写,因为各行各业都有自己特色,往往会提出不符合规范的需求,开源 bi 工具是为通用功能准备的,定制化反而麻烦。
    lithiumii
        13
    lithiumii  
       2020-03-14 12:08:43 +08:00 via Android
    Python + Dash 可以做没问题,怎么解决分发给别人看的问题?让大家都装 Python 然后发数据库连接吗?还是自己整一个网站版?
    LokiSharp
        14
    LokiSharp  
       2020-03-14 12:15:47 +08:00 via iPhone
    说得好,可我还是觉得一体化的企业产品比造轮子方便
    levelworm
        15
    levelworm  
    OP
       2020-03-14 12:23:58 +08:00 via Android
    @lithiumii 搞个服务器就可以吧他本来就是 flask
    ccoming
        16
    ccoming  
       2020-03-14 12:35:16 +08:00
    可能人家的客户根本不是给有搭建可视化平台能力的群体。人家是给商业分析用的,
    dexterzzz
        17
    dexterzzz  
       2020-03-14 13:07:22 +08:00
    BI 领域从来都是商业软件为主,玩代码开发定制是给自己挖坑
    zhuangzhuang1988
        18
    zhuangzhuang1988  
       2020-03-14 14:06:05 +08:00
    太年轻.
    boshok
        19
    boshok  
       2020-03-14 15:56:49 +08:00
    太年轻,哈哈
    evilangel
        20
    evilangel  
       2020-03-14 17:59:47 +08:00
    Oracle 数据库,尝试了 metabase,非常非常非常卡,最终被迫放弃。
    不知道大家对 Oracle 数据库的可视化有什么好的推荐?
    snw
        21
    snw  
       2020-03-14 18:27:29 +08:00 via Android   ❤️ 2
    说实在的,只有大中型的公司才需要搞 BI,中小企业搞 BI 只是老板自娱自乐。

    BI 的前提是数据有质量较高的源数据,不然就是 GIGO (垃圾进垃圾出)。一套完善的信息化系统+购买或开发 BI 系统并实施+各环节合格的参与人员,这些开支不是中小企业玩得起的。后期你要应对经常变动需求的话,定制开发比通用解决方案支出更高。

    中小企业做的只是会计整理数据,然后 IT 搞成好看的图表让老板看,但这只是可视化,只是 BI 的一小部分。
    levelworm
        22
    levelworm  
    OP
       2020-03-14 21:25:19 +08:00
    @zhuangzhuang1988 @boshok 唉,谁说不是呢,所以周末还在老老实实撸 Tableau 呢。公司要用这个我也管不着呀。
    qwjhb
        23
    qwjhb  
       2020-03-14 21:27:28 +08:00
    我打算用 superset 有什么坑么
    levelworm
        24
    levelworm  
    OP
       2020-03-14 21:29:04 +08:00
    @snw 中小企业我觉得也可以有高质量的源数据呀,就看重不重视了,当然大部分是不重视的。BI 基本上从 pipeline 开始,到可视化结束(我一般不把分析算在 BI 里头,毕竟有专门的 DA ),我觉得如果是做实业的那种中小企业,可能就自己搞搞就算了,因为的确数据量不大。但是如果是互联网企业,数据量可能并不小呀,比如我们公司就百来人,但是还是得配置齐全 BI 的人,不然数据量太大了压根没法搞。要不我理解错了,大小不是按照人数来的?
    lithiumii
        25
    lithiumii  
       2020-03-14 22:09:52 +08:00 via Android
    @levelworm 除了管理一个服务器,还要解决访问权限问题吧,Dash 带用户登录之类的功能吗?本来做分析的会分析就可以了,现在岂不是还得掌握 py 的 web 开发及运维?
    samuel
        26
    samuel  
       2020-03-14 22:44:47 +08:00
    对于信息化程度较高的中大公司(大型互联网公司除外,他们有能力造轮子),采购商业 BI 软件才是最高投入产出比的方案,自己造轮子最大的价值可能就是给技术团队练手了。用自己造的轮子,数据分析师可以自助完成数据建模么?可以自助做报表么?可以支持各种多维度分析么?

    对于小公司而言,怎么方便怎么来吧,不过往往在这种公司里,BI 就是一个固化的统计报表,有新的统计需求就找研发写,不过这个跟 Powe BI,帆软什么的确实不是一码事了。
    wittyfans
        27
    wittyfans  
       2020-03-15 01:44:34 +08:00 via iPhone   ❤️ 3
    我之前的一个项目就是用的 Python+Dash,确实自由度比 power bi 和 tableau 高一些,你架好 server 后,公司内网打开你 IP 就能看图了,而且用 pandas 处理数据,直接套用 plotly 的格式,也很顺手。

    但前期开发周期长,各种需求都提给你,需要一一实现,而且还会有导数据的需求,关键是这项目就我一个人做,从数据爬取、存储、处理、web 可视化,需求太多有点忙不过来,前期的时候经验不足,数据流程也有些混乱。爬取,保存,处理这之间的任务管理几乎没有,现在开始用 cron,后期打算上 airflow 管理。

    不管是可视化,做 data analysis 或者 data science,少不了 data enginerring,把需求和数据的逻辑理清楚了,后期就简单了,可视化用这些商业工具还是自己写,我觉得都是一种偏好吧,根据自己的需求和技术能力选择,小公司数据不大,excel 也可以做 dashboard,只是你要是习惯了 pandas,就不想用 excel 了,前阵子接了个搞市场数据分析公司的面试,直接发了个 excel 过来,搞得我有都有点紧张。
    snw
        28
    snw  
       2020-03-15 01:46:22 +08:00 via Android
    @levelworm
    哦你说 IT 企业啊,那确实是另一回事了,毕竟 IT 企业利润率高,而且大部分业务数据本身就数字化了。

    其他行业营业收入 2 亿的企业,年税前利润大概也就一两千万的数量级,上百万实施及培训+每年几十万上个传统 ERP 和业务系统(可能不给接口)已经挺心疼了,更别提每年再花几十万搞 BI。
    wittyfans
        29
    wittyfans  
       2020-03-15 01:56:41 +08:00 via iPhone
    @qwjhb superset 的用户权限管理有点难用,另外不可以嵌 python 代码
    Justin13
        30
    Justin13  
       2020-03-15 08:50:53 +08:00 via Android
    powerbi 能自己开发可视化插件,扩展性上比 tableau 好很多
    qwjhb
        31
    qwjhb  
       2020-03-15 20:36:00 +08:00
    @wittyfans 这样的啊 我本来是看 superset 是 python 写的 用了 flask 以为 python 魔改会方便的 请问是什么原因导致不能嵌? 这样对我来说是硬伤 能开始前就打住也算幸运,多谢
    wittyfans
        32
    wittyfans  
       2020-03-15 23:34:40 +08:00 via iPhone
    @qwjhb 好像就是他们没这个打算
    hotwow
        33
    hotwow  
       2020-03-19 22:52:12 +08:00
    @qwjhb Redash 可以嵌 python 代码
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1034 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 22:38 · PVG 06:38 · LAX 14:38 · JFK 17:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.