1.熟练掌握JVM系语言Java、Scala,熟悉Java性能调优,具有良好的编程习惯;
2.熟练使用微服务开发工具SpringBoot、MyBatis、Nacos、Eureka等;
3.熟练使用Kafka等消息中间件;
4.熟练使用MySQL、PG、Redis等业务常用库,熟悉HBase、MongoDB、ES等分布式数据库;
5.熟练使用大数据计算框架Spark、Flink,熟练使用HQL,熟练使用Hive/Impala搭建数仓;
6.熟悉Linux环境、云环境,熟练使用Shell,Python脚本编程。
项目一:标签系统建设 角色:系统负责人
项目介绍:该系统为更好地将数据以产品化形式为其他BU赋能而建,系统分前台、后台两个组件,前台面向业务、 产品或运营人员开放,具备全生命周期管理各类标签、各种标签客群功能,同时也为运营部门提供数据分析功能, 后台主要负责以标签类查询接口为主对外提供服务。
技术栈:计算:Hive、Spark、Flink,大数据调度:Azkaban,消息队列:Kafka,
应用调度:分布式调度平台,存储:ES,后端:SpringBoot、MyBatis、PG
主要流程:基于Hadoop平台上的数仓,通过Azkaban平台调度各层Hive Job,Hive离线数仓负责计算各维度 离线标签后,通过SparkJob推送到ES集群;通过FlinkCDC方式计算实时标签并更新到ES,对于组合标签通过 分布式定时任务进行预计算并缓存到Redis,其他业务系统通过后台接口服务查询标签使用。
负责内容:
1.标签系统平台整体规划设计、表结构设计、前台接口设计开发;
2.后台标签查询类接口设计开发,制定性能优化方案,确保标签类服务性能达标,服务稳定;
3.对接不同业务BU标签需求,分析需求,并进行标签开发,日常代码review,定制开发计划等。
主要成就:借助CDP大数据平台以及Spark与Flink计算框架实现了离线标签与实时标签的加工计算,通过搭建微 服务应用系统,将数据以标签的形式对外提供服务,扩展了部门的数据产品体系以及赋能方式,为业务更好向数字 化智能化发展提供了数据支撑。
项目二:交叉引流课程推荐系统 角色:数据开发负责人
项目介绍:该系统通过帮助用户高效地获取感兴趣的内容课程,提升了用户的学习效率以及用户粘性,解决了长尾 课程文章访问学习量过低的弊端,从而推动了内容运营产出更有价值和质量的课程和文章,为后续公司开展其他业 务奠定基础。
技术栈:计算:Hive、Spark、存储:HBase、缓存:Redis、算法:Word2Vec、LR、 LSH
主要流程:基于数仓计算出的用户的学情报告画像数据,每天计算出课程的热度、学习人数、访问量等存储hive表 中,取出Top100 课程文章,再利用算法模型计算出这些课程相似的课程,最后加上每天的新上线课程,按用户的 某些基础信息如地域、科室等自定义规则后,取Top20同步到MySQL业务库,供后端推荐查询使用。
负责内容:参与特征的提取与计算以及数据的同步。