个人信息

出生日期

08/04/1993

技能

  • 编程语言

    熟练使用python进行编程,也有Java、JS使用经验,熟悉python常见并发及异步框架

  • Apache Airflow

    具备长期的Airflow实践经验,精通工作流的设计、调度、监控和优化,能够高效地构建、管理和扩展复杂的数据管道和自动化任务,可以独立构建运维高可用的大规模的任务调度系统。

  • 数据处理相关

    熟悉Flink,Spark,HBase等大数据处理和存储相关工具,熟练对结构化和非结构化数据的处理

  • Web开发技能

    可以熟练使用Flask,FastApi框架进行api开发,熟悉RESTful API,能编写高并发下的鲁棒api。

  • 容器及容器编排

    1.熟悉docker,能使用docker-compose和k8s对容器进行编排管理

    2.熟练编写dockerfile,并可结合gitlab进行持续部署

  • 数据库相关

    1. 熟悉Redis架构设计、性能优化、持久化机制、主从复制、哨兵系统及Redis集群部署与维护,能够高效地利用Redis解决高并发和大数据量处理问题

    2. 具有一定的SQL优化经验,熟练掌握复杂查询优化、索引设计,熟悉MySQL和PostgreSQL

    3. 了解Mongodb, Elasticsearch等非结构化数据库

  • Linux

    有多种Linux发行版(Ubuntu,CentOS)使用经验,了解常用shell命令工具及shell脚本编写

  • 常用算法及数据结构

    熟练掌握常用算法及数据结构,能够根据项目需求,设计高效的算法解决方案,并有效地提升程序的运行效率和资源利用率。

  • 自然语言处理

    有自然语言处理相关经验,了解RAG相关技术。

工作经历

AutoX

Software Engineer

四月 2021 - 十二月 2024

流水线任务控制及数据开发。对公司车辆路测数据进行一系列的离线处理。支持公司预测、感知及车辆控制部门对数据及自动化的需求。主要工作有:

数据平台后端服务及数据处理任务的开发:

作为后端数据开发人员,参与开发了基于 Flask 和 Airflow 框架实现的数据处理任务的调度系统。该系统支持用户手动提交或检测每日新的数据自动生成Spark、Flink、图片点云抽取、文件传输等数据处理任务,并通过 Airflow 自动调度编排这些任务。主要功能包括任务优先级管理、依赖解析、分布式执行、失败重试机制、性能监控、提交和查询数据处理任务以及通知用户任务执行状态和结果。负责参与的任务有:

  1. 关键数据打标签:利用Spark、Flink编写逻辑在大量路测数据中识别并监测关键数据场景(刹车、变道、转向、红绿灯等),并打上对应标签记录在数据库中。
  2. 数据抽取系统:根据相关标签自动抽取图片点云等数据,配合数据库中的信息形成数据集,支持AI算法训练。
  3. 算法验证:编写自动运行的Airflow pipeline,每次代码提交或模型更新后可以自动在关键数据组合形成的场景数据集上进行算法验证,对比表现。
  4. 任务排队调度:通过prometheus收集k8s集群资源使用情况并在后端实现资源锁并提供任务的优先级排队功能。同时在Airflow包装相关Operator和Sensor,使得对应的Flink,Spark,Pod类型的任务都在后端有对应的资源锁,避免了资源争夺导致的pod驱逐,大量Spark、Flink的管理Pod挤占工作Pod资源等资源浪费情况。
  5. 离线数据查询任务:为满足公司各团队的多样化数据需求,编写Flink应用,用户可以通过 REST API 提交数据查询任务,并通过 Kafka 、 REST API 或 IM 向用户交付查询结果。

自动化流水线任务的构建及Airflow集群的升级维护:

  1. 对公司的自动化任务管理工具 Airflow 进行更新升级并迁移至 Kubernetes 集群,以方便拓展其服务负载能力并获得最新版本的新功能。
  2. 通过阅读 Airflow 源码,解决组内 Airflow 使用过程中的常见问题,定位了集群高并发时的问题点并优化了该集群的并发。
  3. 编写供内部使用的 Airflow 公共模块及文档,方便组内同事复用效率优化过的代码并遵守最佳实践。
  4. 使用 ELK 工具对 Airflow 日志进行收集处理,方便定位问题。
  5. 创建测试集群及 CI/CD 流程,降低线上环境风险。
  6. 优化同事编写的airflow流程:包括通过local-cache和redis加速扫描效率,将耗时且对硬盘IO负载较重的S3的扫描任务转化为后端接口查询,将阻塞任务改写为释放CPU的异步任务等。

中国司法大数据研究院有限公司

Software Engineer

三月 2018 - 四月 2021

基础开发环境建设、数据处理、数据接口服务开发。主要依托全国法院数据,对政府及企业进行涉诉信息服务。服务政府对辖区内企业的诉讼情况进行监控,服务企业对其合作方的诉讼情况进行查询。主要负责的工作有:

  1. 从非结构化文本数据中提取关键信息,并将抽取得到的结构化信息整合并存储到后端数据库中。编写其他数据处理相关程序,将原始的结构化数据处理转换成各个企业和机构的相关评分指标,对外部提供服务。
  2. 为了解决日常服务及数据更新中的重复性工作,利用Docker API开发了一套简易的容器编排和自动化的数据更新应用,实现了在不影响对外服务的前提下,进行无缝的数据同步和应用更新。
  3. 构建文书数据库。搭建HBase,存储中国全量的裁判文书共计4亿余篇(2021年),从Kafka同步每日的更新。并提取业务相关文书至Elasticsearch存储,方便快速的进行全文检索,并搭建restful api提供给相关业务。通过巧妙地结合HBase和Elasticsearch的优势,实现了存储效率与检索性能的完美平衡。
  4. 管理运维团队的所有主机服务器,搭建Hadoop、Gitlab、Elasticsearch等基础设施。编写建立了一套生产服务器的监控体系,并通过邮件系统进行实时反馈,从而保障了服务的连续性和可靠性,从未出现过重大生产事故。
  5. 依托2018年“中国法研杯”司法人工智能挑战赛数据进行深度学习模型的调参。使用了预训练模型BERT,并对模型进行了微调。在对数据进行了大量观察分析后,人工清洗了大量“噪声”数据,并通过对损失函数的优化,将模型在测试集上的表现提高了2%。

教育

北京航空航天大学

生物与医学工程 - 硕士

2015 - 2018

北京航空航天大学

材料科学工程 - 本科

2011 - 2015

语言

Language

英语

CET-6