联系方式:
qq:937880309
个人信息:
xxx/男 /1995
湖南工业大学 /本科 /2018 届
求职意向:大数据开发
工作经验:2 年(半年实习后转正)
工作经历
2018.3-至今:xxx 大数据开发
自我评价
大学本科数学专业,对计算机学习最开始源于兴趣,大二进入学校计算机实验室跟随老师开发软件。毕业后一直从事数据开发工作,熟悉 Spark Sql 、kudu 、Hbase 、kylin 、OpenTSDB 、Debezium,、airflow,了解 hbase 、kudu 、OpenTSDB 、Kafka 、Zookeeper 基本实现原理, 阅读过 Spark Sql 、openTSDB 部分源码。喜欢钻研新技术,兴趣驱动。熟练适用编程语言 Scala, Java, Python 。
工作经历
kylin 优化公司内部数据统计程序
项目描述:1. 公司已有的批处理程序因为业务代码侵入严重,代码量比较大,完整运行一次需要 6-8 小时,出现异常排查步骤繁琐,需要改造升级;
2. 批处理统计的源数据中涉及到纬度字段较多,初步统计有 30 个左右,旧的批处理程序花费了大量的时间在多个纬度的 cube build 上,而且新增统计字段需要修改代码,急需一种灵活的方式进行 cube 的 build 处理;
3. 最终决定使用 Kylin + Spark 替换旧的批处理程序,将 kylin cube build 成功后的数据用 Spark Sql 查询出来作为最终结果写入到 Mongodb 或者通过 Superset 供公司内部生成报表使用。
公司实时数仓搭建
项目描述:1. 将公司用到的所有业务数据统一集中到数仓中并和线上数据保持实时更新,供公司内部同事分析使用;
2. 历史数据的处理,用 Spark Sql 将 Mysql + MongoDB + PostgrSQL 中的历史数据写入到 kudu 中;
3. 增量数据的处理,Mysql + MongoDB+ PostgrSQL 实时变化数据通过 confluent + debezium 的 source connector 捕捉发送到 kafka 中;
4. 开发 Kudu sink connector, 解析 debezium 发送到 kafka 的实时更新数据,解析后的数据最终写入到 kudu 中;
5. 数仓所有同步参数配置到 consul 中, airflow 读取 consul 配置,动态生成 dag 用于更新数仓版本或者重试失败的同步任务
公司所有用户个人展示页交易指标统计
1. 程序使用 Lambda 架构,分为批处理和流处理两部分,批处理使用的核心技术为 Spark 。处理历史数据,流处理使用的核心技术为 Flink,处理增量数据
2.批处理部分
1) 数据来源: Mysql, PostgreSQL
2) 数据同步工具:Sqoop,Spark Sql,将 mysql 的业务数据的导入 hive 中作为原始表
3) 数据清洗:用 spark 剔除掉 hive 原始表中不需要统计的垃圾数据, 清洗生成二级表
4) spark load hive 中二级表的数据,按用户类型和订单类型等纬度进行 group by 统计最终结果写入 MongoDB 和 OpenTSDB 中
5) 任务调度工具:airlfow 定时触发统计任务执行相关任务提交命令
2. 流处理部分
1) 流处理和批处理数据的数据使用 Mysql gtid 进行分割,保证批处理处理过的数据流处理不会进行二次重复处理
2) mysql 和 postgreSql 数据库增量数据通过 debezium connector 监听 binlog 实时捕捉变化的数据写入 kafka 中
3) flink 接入 kafka 数据,使用 pikar + codis 做中间结果的缓存,计算的最终结果写入 Mongodb 和 OpenTSDB 中
项目链接:
https://www.followme.cn/user/278611/trade-account/analyze?index=2&activeType=1&bindFrom=&brokerId=11技能展示
github 地址:
https://github.com/hunanjsd简书地址:
https://www.jianshu.com/u/b923131d48bd