个人介绍
工作经历
2021-12-01 -至今易途科技高级后端工程师
负责后端的开发,包括产品需求,方案设计,技术方案设计,代码层开发,项目测试,项目上线,后期项目性能优化,项目进度、沟通协调等
2020-08-01 -2021-12-01去哪网高级大数据开发工程师
负责大数据平台的开发工作,工作内容有,前期的需求调研,方案、技术方案的设计,参与架构的设计,项目测试、上线;根据用户需求,优化与迭代升级数据平台,提高可用性与用户自主性
2018-06-01 -2020-08-01简理财高级大数据开发工程师
参与从0到1数据平台建设,从底层数据接入,到etl、数据计算,再到上层应用。实际工作中阅读了java底层和一些大数据计算框架的源码,做过mr源码二次开发工作,提升性能8倍左右
2017-06-01 -2018-06-01锐安科技大数据开发工程师
数据计算etl,写mapreduce进行数据处理,最重入库hbase,几十个任务,每日处理数据500t左右,支持1000多重数据源
教育经历
2015-04-01 - 2017-07-01山东科技大学法律史本科
2015~2017,山东科技大学本科,法律专业,工作后考的
技能
开发背景 单个 Sqoop 任务只能接入单表或整库;我们要求全量数据接入,共 3000 多张表,Sqoop 单表接入弊端 是:大量的 Sqoop 脚本及其难配置、及其难维护,大量 sqoop 任务提交本地进程过多,yarn 任务并发 度问题,大量任务频繁启动、申请资源、销毁等问题 解决方案 基于 MapReduce 关系型数据库接入组件 DBDrivenInputFormat 源码二次开发,由单任务接入单表转变为 单任务接入整库 技术挑战 1.修改 DBDrivenInputFormat 源码 2.重构 getSplits,根据单表数据量大小规划整库的 split 3.制定通用的数据映射对象、切片对象、RecordReader 对象 4.实现一个 MapTask 导入单表数据或多个 MapTask 处理单表数据(单表数据过多大情况下),最终输出到 不同的 Hive 表目录 实现效果 替代 sqoop 单表单任务,11 台计算节点,176cores、242memory,每天接入增量数据 500g,3000 张表, 稳定运行于 40-60min,提高运行效率 6-8 倍
画像标签响应时长优化 背景:画像标签响应时长 P99 在 50ms 左右,一些响应时长要求较高的下游要求在 10ms 内,固需要优化 前期准备:加监控、收集日志,后期做方案设计、评估与可行性分析,P99 预计要达到 10ms 内 分析:通过监控、日志对标签进行分析,制定技术方案,并评估可行性 技术方案设计: 1、资源的评估、扩容 2、3 种缓存策略,评估与针对特定标签做不同的缓存策略,评估可行性与方案调研 3、仿真环境搭建,引流、压测 4、代码层方案 5、回滚方案,开关、脏数据清理方案 实施:代码层开发,仿真环境引流测试、验证 最终效果:总标签 P99 在 10ms 左右