一、熟悉 Hadoop HA 的搭建,HDFS 的读写流程 小文件问题的解决方案,MR 的工作原理,数据
倾斜问题的解决,shuffle 调优的解决方案,熟悉 Yarn 工作机制以及核心参数调优。
二、熟悉 Spark 体系架构,包括 SparkCore、SparkSQL、SparkStreaming,熟悉 YarnClusterm 模
式作业提交流程以及提交参数的调优,熟悉 RDD 特性以及 transformation 算子的复杂业务实
现,熟悉 Shuffle 调优以及数据倾斜的处理,熟悉 SparkStreaming 窗口函数的原理。
三、熟悉 Flink 架构体系,熟悉窗口计算,状态编程,Exactly-Once 实现的原理、熟悉 Watermark
机制,熟悉分布式快照的原理、熟悉 yarn、k8s 部署提交。
四、熟悉 Kafka 读写流程 工作流程及文件存储机制,擅长 Kafka 搭建与调优。
五、擅长复杂 sql 语句的撰写与优化工作。
六、熟悉 Kudu、Hbase、Redis、Hive、ClickHouse、DataWorks 等数据库的设计与开发。
七、熟悉 Java、Scala 编程语言开发大数据组件。
八、熟悉数据采集工具 Flume、Sqoop、Datax、Maxwell、FlinkCDC、Debezium 的开发工作。
九、熟悉调度工具 Azkaban、Oozie、AirFlow 的使用。
十、FlinkCDC 以及 FlinkSQL 的开发,结合 K8S operator 搭建一站式流批一体。
项目一: 中信建投证券数据平台 ( 2021-12->至今) 数据开发
项目背景: 金融公司涉及的业务领域众多,公司多年积累了大量复杂的业务数据,在发现问题,分析问题,解
决问题的过程中,其中协调前、中、后台以及科技部门等多方面配合来开展业务口径与逻辑开发目前无法做到。
技术架构: debezium-connector-mysql-1.2.0+kafka_2.11+flink-1.12.2+flink-sql-connector-mysql-cdc1.2.0.jar+ hbase-2.0.5
零售业务实时指标统计:
面向零售业务设计实时数仓,需要获得开户统计、客户服务、APP 运营几个主题的统计指标,根据实时
数据 处理架构和数据仓库分层的设计,面向零售业务的实时数仓可以分为以下几个流程
ODS 层: Debezium 实时采集客户信息表、渠道表等维度相关维度表的 CDC 日志,通过 FlinkCDC 采
集主流的数据业务流水表等主表,建立实时数仓的 ODS 层。
DWD 层: Flink SQL 对 ODS 层,进行数据清洗,过滤、脱敏、打宽等处理。同时以客户账户粒度进行
数据合流,实现 DWD 层的建立。
DWS 层:基于 DWD 层的数据进行汇总,通过分析业务需求,将 DWD 层的数据按照主题进行划分,
汇总出渠道服务主题宽表、业务部运营主题宽表、交易产品主题宽表等公共指标宽表,建立 DWS 层
ADS 层:对于一部分用户账户粒度的业务指标,可通过 DWD 层的明细直接计算得到,部分粗粒度的
业务指标比如 APP 渠道服务客户人数、投顾产品阅读人数等,可以通过 DWS 层计算获得。
最终计算结果接入到 NoSQL 数据库将数据统一提供给下游系统或通过 BI 系统展示。
基金投顾实时指标统计:
基金投顾场景的数据有三个特点:
第一,涉及的数据规模比较小
第二,数据在开盘时间提供给公司内部人员查看
第三,数据对准确性的要求特别高
针对数据量小的特点,我们将数据指标结果输出到 mysql 关系数据库;针对开盘时间将数据供给内部
人员查看的特点,我们开启实时任务的启停策略,将更多的资源留给夜间跑批的任务来使用;针对数据准确
性要求很高的特点,我们通过夜间离线跑批的方式对数据进行修正,以保证数据的准确性。
实时 ETL-资金流水场景:
此场景主要满足业务人员在开盘期间快速查询客户某个时间段内的交易流水明细数据。它需要解决三个
问题:
第一,资金流水明细,总共几十亿的数据,数据量很大的情况下,如何做到快速查询?
第二,开盘时间内满足业务人员查询,且非开盘时间内数据量较小,是否采用定时调度?
第三,资金流水一定不能出错,如何保证数据的准确性?
针对数据量大的特点,我们最终选择通过 Hbase 组件来存储数据,通过合理设计 rowkey 与建立
region 分区,达到快速查询指定时间段内的资金流水明细情况;针对非开盘时间内交易数据量很小的特点,
开启任务的定时启停策略,将更多的资源留给夜间跑批任务;针对数据准确性要求高的特点,通过离线数据
修正的方法来达到准确性的要求。
个人职责: 1.与上游系统与下游应用同事沟通协作,推动各类需求在数据模型中的落地和 ODS 的采集。
2.负责编写 Flink 代码构建主题域合并数据流,构建主题事实表。
3.负责各业务线系统的信息调研、表与字段的映射关系梳理,根据业务及日常需求来优化模型。
4.根据业务需要,进行实时数据建模,设计、开发、优化实时数据开发工具和流程。
5.负责离线数仓与实时数仓的数据比对,保证数据准确性。
6.负责项目性能监控、分析、调优等工作,保障系统正常运行。
数据接入 ios/android/pc/h5 -> 日志服务器 -> Flume/logstash-> ODS 层(原始数据层) 出价/获胜/曝光/点击、adx 检索/点击、前端点击、精准扣费、黄金展位 实时 ETL 计算 Flink interval jo
技术架构: Nginx-1.12.2+Flume-1.7.0+Kafka-0.11.0+Spark2.1.1 +Mysql-5.7.16+ZooKeeper-3.5.7+Hadoop-2.7.2