IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 大数据洞察画像自动化实践 -> 正文阅读

[大数据]大数据洞察画像自动化实践

文|丁龙 网易云商高级系统测试工程师

一、什么是消费者洞察?

消费者洞察是在大数据的基础上,向上走一层,带着分析洞察的思路去进行客户服务。当垂直行业深入业务时,可以将数据进行更进一步的应用分析,输出给企业更有价值的洞察报告,直接反映消费者现状,并且指导企业的决策。

这本质上也是在颠覆咨询公司的服务模式,他们对企业的服务模式是一段时间输出一份报告,这里存在大量的数据采集和报告撰写的时间。但当我们沉淀分析方式,并且将数据看板化,就是在用 SaaS 的方式交付洞察咨询的能力,可以让企业以更快的频率看到数据的变化,以更灵活的方式进行数据指标间的交叉分析。

本品洞察画像:基于品牌的 20 种价值观与大数据画像呈现。

换品洞察:基于某手机展示用户换机情况。

二、业务实现

?(一)总体架构?

数据接入与存储:

通过编写 Spark 应用,将该应用部署在网易猛犸数据平台,从 Hive 同步宽表、标签表数据至 MySQL 和 ClickHouse 该应用具体同步方法如下:

  • 将标签分类、标签以及标签枚举数据写入 MySQL

  • 从 Hive 读取宽表数据,直接通过 insert 语句写入 ClickHouse?

数据服务:

  • 用户画像:主要针对不同行业的洞察算法,提供各种标签组合,生成可视化的洞察画像与数据,反映不同类型消费者的现状

  • 标签管理:主要负责标签的层级管理和特殊标签的处理,并提供接口给外部进行标签列表的查询。标签分类、标签、标签枚举都存在 MySQL

针对于业务目前架构,测试大数据洞察画像的算法及同步的大数据标签是否正确,保障用户画像合理性,成为了重中之重。

?(二)数据流转?

消费者洞察数据通过数据清洗、分析、沉淀,获取到数据标签存储于 Hive 中,部署 spark 应用从 Hive 中得到宽表数据存储于 Clikchouse,标签表存储 MySQL,最终业务呈现则从 Clikchouse 中宽表计算。

基于以上数据流转与业务使用得出整体测试思路:

  • 基于 Clickhouse 数据源的宽表进行数据完整性与准确性校验

  • 业务画像呈现的洞察算法测试

三、目前现状

数据量大:同步数据后人工校验各类标签规则耗时较长,往往需要 1 天甚至更久的时间

洞察算法过多:圈选不同的组合条件下将产生不同的行业洞察算法,导致回归工作量大大增加

重复性工作量大:数据更新频率快,半月/次,更新后同步需再次进行校验,重复性工作多,算法亦是如此

四、解决方案

?(一)数据校验自动化?

数据同步完成后,数据同步模块会通过接口触发 QA 的自动化标签校验机制。自动化校验平台以异步的方式对同步好的标签数据进行校验,如果出现问题会触发报警通知。

DataValidataController 提供给开发调用的 API 接口。ValidataImpl 实现数据完整性校验,包括数据量级、标签量级、数据环比、标签搜索;数据准确行校验,包括数据数据唯一性、数据关联性。

?(二)洞察画像算法服务?

大数据洞察画像算法服务主要是为了摒弃繁琐的 SQL 输入与手工计算,根据项目信息自动生成相应的算法 SQL,实现 SQL 之间的不同计算,同时也提供洞察算法汇总,提供相应的算法 API 服务。

整体思路:基于目前消费者洞察的业务架构,实现了基于 Clickhouse 模块的自动化测试架构。

应用层:主要是根据不同的标签,价格条件及行业实现各类算法汇总,包括本品洞察,竞品洞察,换品洞察,行业细分洞察等;该层也将提供后续需求及功能迭代的算法。

数据服务:提供相应的算法 API 服务,实现各类算法的接口调用。

@RequestMapping("/userProfile")public String userProfile(@RequestParam String projectId)
@RequestMapping("/insight/summary")public String summaryInsight(@RequestParam String projectId,@RequestParam String key)

???????

@RequestMapping("/insight/avg")public String avgInsight(@RequestParam String projectId,@RequestParam String key)

实现 Clickhouse 连接:Clickhouse 的连接与 MySQL 一致,方便快捷。

整合 goapi(接口管理平台)与 overmind(企业研发效能平台)实现 CI:

goapi 实现场景用例与结果断言,使用 overmind 的需求 CI 与功能场景模块化调用,当开发洞察需求提测时,自动触发场景用例调用,实现自动化校验与提测/发布卡点。

()

  1. Clickhouse 虽然有丰富的函数,但是有些函数的性能会很差,测试时发现 hasAny 的函数在大数据及行业平均值计算中耗时非常严重,所以在开发与测试中均规避了该函数,而采用行转列的方式实现。

  2. 由于大数据画像对于精度要求比较高,而 Clickhouse 在处理精度高的情况会导致精度缺失,所以在处理高精度的时候最好自己处理下精度丢失。

  3. Clickhouse 在处理 Where 条件多变的情况下,性能会比较差,如果业务的 Where 条件非常丰富与多变,当存在多个项目同步洞察的情况,画像返回会变得相当慢。

?(四)成果?

测试覆盖度提高

  • 未引入:抽样覆盖了数据标签量级,标签搜索。

  • 引入后:覆盖数据量级、标签量级、数据环比、标签上下线、标签搜索、标签唯一行、标签关联性。

测试效率提高

  • 未引入:数据同步测试需要 1人/天,洞察算法测试需要 2人/天。

  • 引入后:无需人力投入测试回归。

五、总结

消费者洞察业务,后续也将会承载新的行业用户分析,但不管接入什么行业,其本质还是对用户标签及行为进行解析形成画像及洞察能力,而在其中承载的支柱:数据&算法,可以在大数据画像自动化测试服务中得到很好的迭代及维护。

作者介绍?

丁龙,网易云商高级系统测试工程师,目前主要负责网易云商问卷调研及消费者洞察测试工作。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-04-04 12:18:09  更:2022-04-04 12:21:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 4:41:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码