大数据浪潮下_前端工程师眼中的完整数据链图
大数据浪潮下_前端工程师眼中的完整数据链图
大大梁 发表于10个月前
大数据浪潮下_前端工程师眼中的完整数据链图
  • 发表于 10个月前
  • 阅读 13
  • 收藏 0
  • 点赞 0
  • 评论 0

【腾讯云】新注册用户域名抢购1元起>>>   

阅读全文

 

0?wx_fmt=jpeg

马云曾经说过『人类正从IT时代走向DT时代』。正如他说言,今天几乎所有的互联网公司背后都有一支规模庞大的数据团队和一整套数据解决方案作决策,这个时代已经不是只有硅谷巨头才玩数据的时代,是人人都在依赖着数据生存,可以说如今社会数据价值已经被推到前所未有的高度。

 

我作为一名前端工程师在阿里巴巴数据团队工作多年,深入了解数据生产加工链路与产品化。我们这群前端是与界面最近的工程师们,似乎与数据离得很远,对于我们来说与数据有些怎样连接呢。

 

 

完整数据链路

 

 

首先,我用直观的一张图绘制出数据采集到产出的流程,中间省略技术细节。

0?wx_fmt=png

业界常提到的 Hadoop,Spark,Druid 都在用户侧的下方,也就是数据研发与数据挖掘职能的工作。相对于前端职能而言,一定是与输出终端相关,包括本职工作数据类产品的研发,如阿里指数或百度指数这样的数据展示型产品,还有较为复杂的 BI 工具等,细分起来,最特别的工作应该是数据采集和数据可视化的工作。

 

但到今天而言,数据研发工程师已经很难说只精通其中一种技术。任何一环深入下去都涉及到整条链路的打通,我就从数据采集,数据可视化,数据产品研发到人工智能几个板块来写写我的体会与经验。

 

 

数据采集

 

过去还是流量为王的年代,流量就意味着钱,互联网都用着简单粗爆的方式导流。在过去做过站长的对数据采集已然不陌生,包括著名的第三方平台 CNZZ(现友盟+) 和 google analytics 两个平台几乎都使用过。

 

 

基本原理
 

Web 端的数据采集的链路从客户端或后端开始一直到存储结束。因此,数据采集这个动作涉及到了前端,客户端,数据研发,产品经理等职位的参与。在这个过程中,前端工程师的工作集中在不同客户端上(PC、iOS、Android)的信息收集及埋点上。

 

再说到采集应用信息这件事,系统可以采集到的信息越丰富,那么数据可分析的内容就越多。数据采集在 Web 端可以分为几个步骤,包括前端 JS 加载,触发事件时收集各种浏览器端的信息,根据用户行为上报日志服务器。

 

Web 端的数据采集可以收集哪些信息呢?这是一件同时带有『用户体验』和『业务反馈』的工作。为什么这么说呢。

 

UX 和前端工程师都非常关注用户体验反馈,而用户体验反应在界面上可以表现为习惯性的浏览轨迹,点击热区等。一般可以采样一部分用户的行为来分析,比如发起一次纯交互改版后,我们需要做一次 AB Test,对于等比例用户分布的点击热力图,同时收集一部分用户的调查反馈,来验证改版后的效果。如果是交互与功能同时改版的话,相对较难判断影响面。

 

业务反馈就比较自然了。对于网站应用来说,一定会带有用户登录的信息,或关联业务的一次活动,那么自然会把业务信息都带到一起。此外,业务形态不同,会设计业务独有的打点采集方式。如区块明显的应用, 我们需要精确的确定站点,页面,区块和链接,可以达到流量的精准定位,就是典型的为业务形态定制采集方案。对于区块化不明显的后台类应用就不完全适用。精细化采集更需要运营或产品经理对于产品功能有细节上的思考。

 

此外,业务反馈还可以从前端本身看,前端需要的稳定性指标也是从界面上采集到的,比如加载性能、JS 报错等。大规模应用背后开发一般都有自己的监控平台,而前端的监控就从用户界面开始。

 

0?wx_fmt=png

 

再说说埋点,这是需要大量前端开发的工作。其实近年来为了减少开发的投入,业界有好一些方案产生,其中比较流行的是可视化埋点和无埋点。

 

可视化埋点对于 PD 或运营来说就十分友好了,仅通过界面就可以配置打点的位置。但有一个极大的问题,我们的界面经常会改变,导致了元素的变化,埋点就需要经常作更新。

 

另外就是无埋点,这是一些新兴数据公司如 GrowingIO 推崇的概念。其实无埋点的理念十分简单就是全采集,不论是有效还是无效,所有的点击行为都会被采集下来。这种方案最大的优点就是零工作量,采集的数据非常全,缺点就有大量的无效信息需要到计算或存储过滤。这是计算资源、硬件存储与人力成本之间的考量。

 

 

新采集

 

前端只是客户端采集的源头。比如音频,图像,视频等新媒体都需要一种可以量化成数据的方法,沉淀成指标;在 IoT 领域,更是涉及到硬件设备上采集技术。这些采集可以说与前端都没有联系,但都是采集的一部分。

 

数据多样的同时,我们需要什么样的数据才是有价值的问题。同样的信息有这样收集,那样收集的,但最好采集的方式是要考虑的。今天非常多的数据是被动的收集的,用户没有发现价值还被强迫采集。数据其实是业务的一部分,业务应该会自生产我们需要的数据,通过智能化手段改善业务,这是主动的方式。

 

 

数据可视化

 

 

经过清洗,计算与存储后达到数据展现的阶段。无论是面向哪个群体的数据产品都绕不开对数据的可视化,可以说产品端除了考虑分析链路或操作链路外,最重要的工作就是如何更好的反应它们,可视化在其中至关重要。

 

数据可视化包括科学可视化、信息可视化和可视分析学。数据可视化绝不是单纯的视觉,也不是单纯的图表,它是帮助人类从原始信息中做到对信息有一定程度的认知,任何可视化手段都为了这个过程,而非结果。如果计算机已经可以得出结论,那么可视化是没有意义的。

 

数据可视化对于我们而言其实是一个跨界的领域,交互视觉知识远远不够,还还涉及硬件、客户端编程、数据分析、机器学习等领域。

 

什么是优秀的可视化图表

 

数据可视化常指将数据用统计图表方式呈现,从大的分类上看可以分为统计数据可视化、关系数据可视化、地理空间数据可视化,当然还有时间序列数据可视化、文本数据可视化等。

 

在这里,我就从数据可视化中的图表这个宏观概念来讲讲,如何来构建可视化图表,什么是优秀的可视化图表。

 

0?wx_fmt=png

 

我们看过形形色色的图表,可视化图表是从数据 -> 清洗 -> 交互 -> 视觉 -> 开发的整个过程下创造的。那么优秀的可视化作品具备哪些特征呢?正如上图所说,优秀的可视化作品 = 信息 + 故事 + 目标 + 视觉形式。

 

阅读全文

 

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 0
博文 225
码字总数 0
×
大大梁
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: