《王浩宇-贝壳大数据质量保证实战.pdf》由会员分享,可在线阅读,更多相关《王浩宇-贝壳大数据质量保证实战.pdf(43页珍藏版)》请在三个皮匠报告上搜索。
1、贝壳大数据质量保证实战主讲人:王浩宇演讲嘉宾介绍王浩宇前贝壳找房资深测试开发工程师 搜狗:大搜检索端,负责搜索核心模块的质量保证工作 百度:凤巢检索端,负责搜索核心模块的质量保证和测试工具建设 贝壳找房:从事大数据和人工智能产品质量建设CONTENT目录2023K+01贝壳大数据背景介绍贝壳批处理生产质量建设贝壳数据应用质量建设020304贝壳流式处理质量保证Part 01贝壳大数据背景介绍公司发展特点介绍房产产业互联网低频高价中介信任协作链路长科学管理To C:找房、看房、查资讯To 小B:房源维护、客源维护、业主维护通过 To 小B 来 To C:连接客户 降低方差贝壳大数据使用场景大数据
2、智能产品业务数据:GMV、成交量商机量、带看量埋点数据:PV、UV房价指数服务分房屋估价经纪人展位必看好房对话助手贝壳大数据使用场景房源信息访问/带看降价/查看/询问历史成交Q:为什么需要大数据?A:相关性的价值价格合理,业主意愿强烈,曝光量大的满五唯一房源容易成交交易系统房源系统IMC端带看系统房源系统楼盘字典业主系统基础服务公司级数据海量数据处理能力要求聚焦优质房源,提升成交率我理解的大数据大数据的技术特点:基于开源生态分为数据生产侧和报表查询侧数据生产侧分批处理和实时处理报表查询数据生产结构化数据半结构化数据非结构化数据数据接入:SqoopFlumeCanalDataX数仓处理:Hive
3、FlinkHadoopKafka分析引擎:KylinImpalaPrestoSparkSQL数据写入数据读取业务系统业务系统用户使用批量处理实时处理贝壳大数据发展特点大数据集群SparkFlinkHBaseTezSpark StreamingHiveHadoopKylinClickHouseDruidImpalaPrestoESDGraphjanusGraphMySQLTiDBkafka基础设施数仓加工实时计算平台任务调度系统数仓存储数据查询查询中间件消息服务数据开放API数据订阅数据交换数据接入DataBusSqoop/DataX实时数据处理数据管理平台(数据工厂)平台视角数据源(业务DB、
4、文件、行为日志)数据视角接入层STG/ODS数仓层DW集市层DWS/DM数据可视化分析权限SQL解析服务公司大数据发展特点:报表查询建设度 数据生产建设度批处理场景 实时处理场景公司大数据质量建设批处理生产质量建设+报表查询质量建设+其他章节介绍批量处理生产质量建设+报表查询质量建设+其他Part 02贝壳批处理生产质量建设批量处理生产质量建设产品运营产品研发需求开发测试上线口径确认逻辑确认需求卡点代码开发提测卡点线上测试上线卡点依赖配置系统无变化系统有变化基础设施(Hadoop/Spark/Kafka/Kylin/Hbase/Tez/Flink)数据接入业务采集日志采集线下手动线上线下变更审
5、批数据仓库STGDMDW延迟波动监控链路分析手工降级数据应用奥丁APItableau线上验收日报核心指标手工重启手工执行手工对数执行测试问题:人工流程比较多,耗时耗力 手工执行和验证 数据对比依赖人眼 质量建设偏事中监控,值班成本高 问题发现能力强,但止损能力弱 产研阶段问题无法提前发现和避免公司批处理质量建设状态及问题批量处理生产质量建设及时性数据刷新、修改和提取等操作及时完整性实体不缺失,属性不缺失,记录不缺失,字段值不缺失准确性数据记录的信息不存在异常和错误一致性数据来源、存储和统计数据具有一致性数据质量评估标准及时性的结果非0即1,需要优先解决批量处理生产质量建设及时性数据刷新、修改和
6、提取等操作及时完整性实体不缺失,属性不缺失,记录不缺失,字段值不缺失准确性数据记录的信息不存在异常和错误一致性数据来源、存储和统计数据具有一致性数据质量评估标准数据延迟集团管理经纪人作业策略效果上午9点之后的数据产出没有意义!批量处理生产质量建设问题分析问题类型分布基础架构类问题占比最高,是强依赖,集群稳定是质量提升的基础数仓类问题发现和处置滞后,SQL变更验证不充分导致的SQL执行失败是主要风险基础架构类问题原因数仓类问题原因批量处理生产质量建设批量处理生产质量建设及时性治理是一个系统性工程,需要全角色参与!集群算力提升扩容核心队列稳定性治理小文件合并慢节点优化变更管控AB测试逃生队列数据任
7、务变更管控依赖变更调度变更隐患排查循环依赖延迟检测可执行性检测下线检测Trace能力延迟分析质量评估数据源变更管控上传监控DB变更审批同步机制优化全量改增量事前拦截隐患排查事中值班降级止损事后跟进及时性治理全景图质量正循环QA承担部分批量处理生产质量建设HQL开发HQL生效临时表验证执行失败 强制验证,确保SQL可执行 独立队列,避免对线上造成影响1.0特性蛮荒阶段1.0执行慢,稳定性不高,用户不爱用,怎么办?线下验证,无法追踪,基本靠自觉 线上线下无资源隔离,相互影响HQL测试困境批量处理生产质量建设集团管理经纪人作业策略效果及时性要求核心指标一级指标其他指标 关注核心指标,分级管控 流程优
8、化,降低用户感知度 稳定性&执行效率提升解决思路批量处理生产质量建设2.0 允许强制生效,但回捞核心表验证任务 失败提供预警和人工兜底2.0特性 任务提交方式优化:sql拆分pyhive 改为 hive-f 健康检查:每4分钟对运行任务检查,避免产生僵尸进程效率优化 任务重试机制:解决环境不稳定导致的任务失败 任务中止功能:相同任务运行,避免资源抢占稳定性优化 任务中止功能:避免多次提交测试任务,生产脏数据 数据量回调:SQL执行成功,但是未生成数据,无感知准确性优化批量处理生产质量建设流程及报告展示:批量处理生产质量建设数据及时性解决后,准确性问题凸显批量处理生产质量建设及时性数据刷新、修改
9、和提取等操作及时完整性实体不缺失,属性不缺失,记录不缺失,字段值不缺失准确性数据记录的信息不存在异常和错误一致性数据来源、存储和统计数据具有一致性数据质量评估标准批量处理生产质量建设60%40%数据剖析Data prefiling人工抽检数据下发数据diff批量处理生产质量建设Data Profiling,可以翻译为“数据剖析”或“数据概要分析”维基百科:检查数据并收集数据的统计值和信息的方法批量处理生产质量建设分析方法取舍思路:测试需求分析线上问题分析工具通用性考虑测试效率优先DWD层数据总量对比(dw)主键唯一性异常值检测数据抽验DWS层维度一致性验证总量对比(dwd)主键一致性验证指标一
10、致性验证Dim层总量验证(dwd)数据抽验异常值模型验证规范 用例和功能解耦,通用功能抽象成用例配置模板 功能独立,可扩展性强,便于后续新增方法 泛用性:业务无关,通用解决方案,能力可复制 报警通知:及时感知异常,进行数据修复 动态参数:数据日更新,校验最新数据 重试机制:解决集群环境不稳定数据获取失败问题工具特点规则验证报告准确性验证1.0批量处理生产质量建设准确性验证2.0接入方式配置化能力触发方式结果展示基础规则数据对比链路监控平台化自主配置数据地图一键生成平台点击地图准确性测试消息通知数据报告企微企微群邮件数据量异常值主键枚举值维度值是否缺失自定义SQL规则多表数据对比单表VS指定数据
11、自动生成SQL链路配置全链路数据唯一性验证可视化数据SQL详情一键重试意见反馈事前事中Sql上线自动触发最新版本产出后自动触发定时任务拦截问题记录批量处理生产质量建设全链路一致性监控验证报告固定和自定义规则数据对比批量处理生产质量建设批量处理生产质量建设批量处理生产质量建设批量处理生产质量建设Part 03贝壳报表查询质量建设数据应用质量建设数据源文件MySQLprestoImpalaKylin单人授权角色授权组织授权项目授权主岗授权兼岗授权Clickhouse场景组合多样,如何覆盖?16种展示组件*20+功能*6种数据源*10000+数据表*筛选条件*权限数数据据源源报报告告创创建建展示展示
12、权限权限查询查询指标权 限 系 统Query 查 询 服 务多样化报表呈现、数据展示数 据 模 型数 据 连 接模型创建编辑表关联+子查询字段操作+筛选设置Excel、csv上传存储元数据表结构维护Mysql、hive连接管理自定义字段数 据 报 告 模 块行级权限图表组件折线图饼图表格漏斗图筛选组件日期筛选器列表筛选器层级筛选器数据源选择字段选择筛选控制字段聚合影响覆盖组件功能数据引擎数据表筛选条件权限线上组件巡检UI自动化+图像检测内测Diff测试流量筛选按入参筛选按热度筛选噪音过滤对比Data总条数过滤线上监控数据应用质量建设UI自动化+图像检测智能遍历图像布局分割截图特征检测文字问题检测问题图片收集截图数据提取及训练典型问题:内测数据应用质量建设线上引流Diff测试举措:引流获取线上真实场景,打标筛选无须构造且保证场景覆盖 动态调整并发、请求等参数,具有较好的场景适配能力 支持查询结果字段关联分析,与线上基线版本对比效果:覆盖率提升:接口、指定条件下查询场景100%覆盖提升代码逻辑、数据类和性能类、场景兼容类问题发现能力效率提升:测试周期大幅缩短数据应用质量建设Part 04贝壳流式处理质量建设数据应用质量建设旁路泄洪容量评估数据diff测试及时性及容量要求更高结语不满是向上的车轮 鲁迅THANKS