This is the place where I share my ideas.You can also visit me on @CSDN or @oschina.
Give Chapter and Verse and Author for Transshipment, copy or other using. Thanks!
熟练掌握Java语言。熟悉JVM原理,熟悉Scala语言。
熟练掌握Spark并熟悉其原理源码。对大数据生态:离线处理(Hadoop、Hive、Presto)和实时处理(Spark Steaming、Flink、Kafka)都有应用、原理、架构上的认知。
熟练使用Spring、Mybatis、Dubbo等Java框架。
兼具大数据开发经验及大数据平台整合经验。对大数据平台产品设计和产品优化有一定经验。
热爱钻研,能自驱学习,寻求挑战,善于解决问题,对技术具有浓厚的兴趣。
会在公司做技术分享,并参与线下技术交流会议,关注新技术发展和动态,会写自己的博客对知识进行记录总结。
滴滴出行 研发中心-平台研发 资深研发工程师 主要工作:数据地图研发、大数据产品开发、项目管理、项目支持、技术调研、问题解决 2021.03 – 2021.03
Ø 数据探查
时间: 2021.2– 2022.03
项目简介: 数栖探查系统支持对hive、mysql等表、json、csv文件等数据, 进行数据探查。探查包括基础探查、高级探查。
负责要点:
Ø 数据地图
时间: 2021.3– 2022.01
项目简介: 数栖地图是滴滴出行负责数据搜索与管理的大数据产品。支持Hive表、MySQL、实时表、报表等搜索、支持血缘能力,变更通知、专辑管理能力。
所用技术: Spark、Spring Boot等。
产品地址:https://www.dtwave.com/shuqi
负责要点:
杭州数澜科技有限公司 研发中心-平台研发 大数据平台研发工程师 主要工作:数栖平台产品开发、大数据项目开发、项目管理、项目支持、POC、技术调研、问题解决 2016.11 – 2021.03
Ø 数栖平台
时间: 2017.4– 2020.09
项目简介: 数栖平台是本公司最核心的一款大数据产品。集成离线数据开发、实时数据开发、数据资产管理、数据同步、数据应用等于一体的大数据开发套件。长期项目,持续迭代。
所用技术: Spark、Flink、Hadoop、Hive、Kafka、Presto、Dubbo、Spring Boot等。
产品地址:https://www.dtwave.com/shuqi
负责要点:
平台早期版本实时任务:
总结: 从0到1、从1到100,完整的跟随数栖平台走过,对一整个数据中台有自己较为完善的理解。
Ø 数栖平台-数据资产-数据质量系统、数据地图系统
时间: 2020.1– 2020.11
项目简介: 1.数据质量系统是对数栖原有数据质量系统进行的一个单独拆分和增强改造,由原有的每日凌晨任务跑完后的定时任务进行数据规则计算,改造为根据调度任务解析血缘产出表,进行实时的质量规则计算,可达到一个阻塞下游任务的效果。
2.数据地图系统是集数据采集、元数据管理、元模型管理、数据血缘关系展示、元数据查询、数据搜索功能的数据治理系统中的一个子系统。
所用技术: Spark、SparkSQL、Hive、Spring Boot、MybatisPlus、ElasticSearch等。
负责要点:
总结: 在数栖5.0大版本结束时获得全能个人奖表彰。沉淀了数据治理、数据质量业务、数据元模型等的业务认知。
Ø SX银行实时计算定制化开发-Flink实时计算项目
时间: 2018.12– 2019.7
项目简介: 使用Flink实时计算框架对银行内核心结算系统、网银、二代等支付系统做账户余额计算和交易对手补全,并将结果写入到ElasticSearch供下游各个系统查询。
所用技术: Flink、ElasticSearch、Kafka、WebService、Apache Cxf等。
负责要点:
总结: 开始独立负责项目、对项目把控、推进、风险处理有了更深的理解。
Ø 广州一呼百应用户行为分析大屏
时间: 2017.7– 2017.9
项目简介:一呼百应电商用户行为分析是根据在前端埋点收集用户操作日志,经Flume传输到Kafka和Hive进行离线分析和实时分析的综合系统。
所用技术:Flume、Spark SQL、Spring Boot、Flink、阿里DataV
负责要点:
Ø 哒哒招标 ——基于招投标信息的推荐分析系统
时间: 2016.11– 2017.4
项目简介: 哒哒招标是基于互联网招投标数据而研发的分析的产品,基于爬虫获取网上最新的爬虫数据,并通过解析,分析,进行分析,发掘隐藏在数据深层的价值。
所用技术: Java、Scala、Hive、阿里Odps、Spark、ElasticSearch、Spring Boot
负责要点:
国电南京自动化股份有限公司 信息技术事业部 Java开发工程师 主要工作:产品开发 2015.3– 2016.9
Ø 数据工厂
时间: 2016.4 – 2016.7
项目简介: 数据工厂项目是一款面向发电集团的互联网产品,依托于国电南自10年来在发电企业的数据积累,针对日常生产经营数据信息需求,通过大数据分析技术,服务于各级管理者,发掘隐藏在数据深层的价值。
所用技术: Zookeeper,Hadoop,Hbase,Spring,Spring MVC,Restful,MQ,WebService,Redis。
负责要点:
Ø teaM
时间: 2015.7 - 2016.8
项目简介: teaM是一个面向互联网团队管理的软件产品,融入了计划管理,进度管理,任务管理与提醒,周报日报功能,旨在为项目管理提供更多的便捷。
所用技术: Spring,Spring MVC,Hibernate,Eclipse,Memcached,Oracle等。
负责要点:
熟练掌握Java语言。熟悉JVM原理,熟悉Scala语言。
熟练掌握Spark并熟悉其原理源码。对大数据生态:离线处理(Hadoop、Hive、Presto)和实时处理(Spark Steaming、Flink、Kafka)都有应用、原理、架构上的认知。
熟练使用Spring、Mybatis、Dubbo等Java框架。
兼具大数据开发经验及大数据平台整合经验。对大数据平台产品设计和产品优化有一定经验。
热爱钻研,能自驱学习,寻求挑战,善于解决问题,对技术具有浓厚的兴趣。
会在公司做技术分享,并参与线下技术交流会议,关注新技术发展和动态,会写自己的博客对知识进行记录总结。
滴滴出行 研发中心-平台研发 资深研发工程师 主要工作:数据地图研发、大数据项目开发、项目管理、项目支持、POC、技术调研、问题解决 2021.03 – 2021.03
Ø 数据探查
时间: 2021.2– 2022.03
项目简介: 数栖探查系统支持对hive、mysql等表、json、csv文件等数据, 进行数据探查。探查包括基础探查、高级探查。
负责要点:
Ø 数据地图
时间: 2021.3– 2022.01
项目简介: 数栖地图是滴滴出行负责数据搜索与管理的大数据产品。支持Hive表、MySQL、实时表、报表等搜索、支持血缘能力,变更通知、专辑管理能力。
所用技术: Spark、Spring Boot等。
产品地址:https://www.dtwave.com/shuqi
负责要点:
杭州数澜科技有限公司 研发中心-平台研发 大数据平台研发工程师 主要工作:数栖平台产品开发,大数据项目开发,项目支持,技术调研,问题解决 2016.11 – 至今
Ø 数栖平台
时间: 2017.4– 2020.09
项目简介: 数栖平台是本公司最核心的一款大数据产品。集成离线数据开发、实时数据开发、数据资产管理、数据同步、数据应用等于一体的大数据开发套件。
所用技术: Spark、Flink、Hadoop、Hive、Kafka、Presto、Dubbo、Spring Boot、Mybatis、Antlr、CarbonData、ClickHouse等。
产品地址:https://www.dtwave.com/shuqi
负责要点:
平台早期版本实时任务:
总结: 从0到1、从1到100,完整的跟随数栖平台走过,对一整个数据中台有自己较为完善的理解。
Ø 数栖平台-数据资产-数据质量系统、数据地图系统
时间: 2020.1– 2020.11
项目简介: 1.数据质量系统是对数栖原有数据质量系统进行的一个单独拆分和增强改造,由原有的每日凌晨任务跑完后的定时任务进行数据规则计算,改造为根据调度任务解析血缘产出表,进行实时的质量规则计算,可达到一个阻塞下游任务的效果。
2.数据地图系统是集数据采集、元数据管理、元模型管理、数据血缘关系展示、元数据查询、数据搜索功能的数据治理系统中的一个子系统。
所用技术: Spark、SparkSQL、Hive、Spring Boot、MybatisPlus、ElasticSearch等。
负责要点:
总结: 沉淀了数据治理、数据质量业务、数据元模型等的业务认知。
Ø SX银行实时计算定制化开发-Flink实时计算项目
时间: 2018.12– 2019.7
项目简介: 使用Flink实时计算框架对银行内核心结算系统、网银、二代等支付系统做账户余额计算和交易对手补全,并将结果写入到ElasticSearch供下游各个系统查询。
所用技术: Flink、ElasticSearch、Kafka、WebService、Apache Cxf等。
负责要点:
总结: 开始独立负责项目、对项目把控、推进、风险处理有了更深的理解。
Ø 广州一呼百应用户行为分析大屏
时间: 2017.7– 2017.9
项目简介:一呼百应电商用户行为分析是根据在前端埋点收集用户操作日志,经Flume传输到Kafka和Hive进行离线分析和实时分析的综合系统。
所用技术:Flume,Spark SQL,Spring Boot、Flink、阿里DataV
负责要点:
Ø 哒哒招标 ——基于招投标信息的推荐分析系统
时间: 2016.12– 2017.4
项目简介: 哒哒招标是基于互联网招投标数据而研发的分析的产品,基于爬虫获取网上最新的爬虫数据,并通过解析,分析,进行分析,发掘隐藏在数据深层的价值。
所用技术: Java,Scala,Hive,阿里Odps,Spark,ElasticSearch,Spring Boot
负责要点:
Ø 社保通 ——大数据疾病预测判断系统
时间: 2016.11– 2017.3
项目简介:哒哒招标是基于互联网招投标数据而研发的分析的产品,基于爬虫获取网上最新的爬虫数据,并通过解析,分析,进行分析,发掘隐藏在数据深层的价值。
所用技术: Python、Shell、Spark
负责要点:
国电南京自动化股份有限公司 信息技术事业部 Java开发工程师 主要工作:产品开发 2015.3– 2016.9
Ø 数据工厂
时间: 2016.4 – 2016.7
项目简介: 数据工厂项目是一款面向发电集团的互联网产品,依托于国电南自10年来在发电企业的数据积累,针对日常生产经营数据信息需求,通过大数据分析技术,服务于各级管理者,发掘隐藏在数据深层的价值。
所用技术: Zookeeper,Hadoop,Hbase,Spring,Spring MVC,Restful,MQ,WebService,Redis。
负责要点:
Ø teaM
时间: 2015.7 - 2016.8
项目简介: teaM是一个面向互联网团队管理的软件产品,融入了计划管理,进度管理,任务管理与提醒,周报日报功能,旨在为项目管理提供更多的便捷。
所用技术: Spring,Spring MVC,Hibernate,Eclipse,Memcached,Oracle等。
负责要点:
Java面试题大全
Arrays.sort实现原理和Collection实现原理
Array的sort主要使用快排。Java8后改进成了三轴快排,具体可以看下源码实现逻辑
在做流计算时,想把每个批次的数据流式写入到MySQL但是发现并不支持jdbc的format。看了下,可以使用foreach并实现继承ForeachWriter的一个子类来实现这个目标。
//具体实现省略
class MySQLSink(userName:String,password:String,jdbcUrl:String) extends ForeachWriter[Row](){
def open(partitionId: Long, version: Long): Boolean
def process(value: T): Unit
def close(errorOrNull: Throwable): Unit
}
//foreach传入一个MySQL Sink,并传入相应参数
val query = df.writeStream
.foreach(new MySQLSink(userName,password,jdbcUrl))
query.start()
但是,参考Spark自带的实现format(“kafka”)或者format(“console”),发现可以更优雅的实现这种自定义的Sink。