点击蓝字关注我
作者:阿乐
今日末伏,宜写字。前天开了《可视化实践系列》的头,我们知道要一直努力写下去。
上一篇我们只是讲了基于R或者Python打造数据平台,实现数据应用的优势和好处,这一次我们唠嗑一下,实现一个数据平台我们需要哪些模块。
说到线上化的数据应用、数据可视化,我们脑子里想到的都是Java 、js 、echert这些前端后端的工具和模块,但这些是前端和后端的工具,对数据人来说,爱的沉甸甸。
工具与工作内容适配才能是神器。我们是数据分析师、数据挖掘工程师,我们的工作是获取数据、处理数据、输出数据内容,这才是是我们的价值。要提高和优化我们的工作,必然离不开这三个流程。恰好,无论R还是Python,这些都有,而且做的很好。
从一个高效和便捷且由数据分析或数据挖掘工程师实现的的数据平台来说,主要是三个模块。
01 框架
框架,让开发工作变得简化、便捷。因此,我们需要的框架有两个核心的内容:简单和高效。
对于使用Python的同学来说,Django应该是听得最多的一个开放源代码的Web应用框架。但是Django对数据分析的同学来说,做数据相关的web 应用还是比较重。要理解 MTV模式,要懂前端三剑客,要落地的应用要耗费不少精力在上面。
时代在进步,框架在进化。R语言的shiny 和Python的Dsah就是我们今天要主推的两个应用框架,阿乐和团队正利用他们在实践数据赋能的业务。
R 语言 | 「shiny」
Shiny 是一个开源的 R 包,它为使用 R 构建 Web 应用提供了一个优雅有力的 Web 框架。Shiny 帮助你在不需要前端知识的条件下将数据分析转变为可交互的 Web 应用。
Shiny是R中的一种Web开发框架,使得R的使用者不必太了解css、js只需要了解一些html的知识就可以快速完成web开发,且shiny包集成了bootstrap、jquery、ajax等特性,极大解放了作为统计语言的R的生产力。使得非传统程序员的R使用者不必依赖于前端、后端工程师就可以自己依照业务完成数据可视化工作,快速验证想法的可靠性。
shiny早已不是那个开始被人认为的那种只能构建原型的工具,如果合理利用,完全可以构建企业级别的应用。从shiny的开发公司RStudio发布的商业化产品和客户情况看,完全可以验证这一点。
如果想要体验更多的落地案例,推荐直接百度搜 shiny-user-showcase ,进入官网的图库查看更多案例,我相信终有一款会符合你的需求。
Python | 「Dash」
如果说shiny是R语言用户的web利器,那Dash就是Python用户的钢刀。
Dash是用于搭建响应式Web应用的Python开源库,之前并不成熟,至今已经开源了一段时间,从组件和案例来说,生态都是足够应用。
Dash是搭建Web数据分析应用的用户界面(UI)库,如果你之前使用Python处理过数据分析、数据探索、可视化、建模、工具控制及编制报告等工作,就会发现Dash可以快速上手。
Dash是构建交互式分析应用程序比较快的方法,使数据科学团队能够专注于数据和模型,同时仍然可以生成和部署企业级应用程序。
02 组件
有了框架我们就可以简单高效的开发我们的应用,为了更好的在应用里面实现我们的数据展示等内容,我们还需要相关的组件配合完成这一系列的事情。
例如与数据库交互的组件,方便我们读写数据;数据处理相关的组件,方便我们操作数据,处理数据;模型相关的组件,方便我们使用模型来预测我们的指标;可视化相关的组件,方便我实现动态的图表;线上交互相关的组件,方便我们进行筛选、输入、勾选等交互动作。
从模块看,主要是分两大块,一个是框架自带的组件,一个是其他模块的增强组件。合理地使用这些模块组件,能方便让我们更简洁地实现数据应用。
03 服务化后台
通过前面两步,我们就可以构建出自己想要的web app。不过这些应用只是单机状态,无法共享到整个网络上。所以,第三模块我们就是要建立内部的服务化平台来承载我们的应用,并共享到网络上。
构建后台的方式有两种,第一种使用商业公司现成的软件方案;第二种是利用开源软件加以改造。前者花钱省事,后者不花钱费点心。各有各的好处,不过我们更倾向后者,能不花钱则不花钱,不花钱就是创造利润。
阿乐会在后面继续发布这个系列相关的内容,关注公众号,从头到尾一条龙服务包你爽。
感谢您的耐心阅读,请顺手点个「在看」,谢谢。