本文将从 5 个方面具体介绍数据平台大数据工作开发的基础知识。蕴含数据平台的简介、如何在平台内创立 Flink 表、如何编写 Flink 大数据处理作业、Flink 工作启动时的调用流程以及 Flink web UI 工作监控页面。此外,将重点介绍数据平台内 Flink 工作开发相干的局部内容,包含 Flink 数据连贯、Flink 流作业、批作业和资源库。资源库为自定义的 UDF,为了不便介绍后续将对立简称为平台。
云智慧 AIOps 社区是由云智慧发动,针对运维业务场景,提供算法、算力、数据集整体的服务体系及智能运维业务场景的解决方案交换社区。该社区致力于流传 AIOps 技术,旨在与各行业客户、用户、研究者和开发者们独特解决智能运维行业技术难题、推动 AIOps 技术在企业中落地、建设衰弱共赢的 AIOps 开发者生态。
数据平台
- 平台定义
平台基于 Flink 计算框架,集成 Kafka、Clickhouse 等大数据组件,具备数据采集、数据同步、数据存储、实时计算、离线计算、数据治理、数据服务等能力。实际平台化思维,充分利用数据,可实现简单业务的数据开发工作,构建了一套残缺的技术生态体系。
- 平台指标
定位为实时数仓、流批一体、湖仓一体的智能大数据平台,晋升整体的 IT 经营服务能力。
Flink 数据连贯
Flink 数据连贯是 Flink 读取和写入到 web 零碎数据库的一个接口。下图为 Flink 数据连贯的一个页面,左侧的为目录数,不便数据源的归类与查找。右侧列表化展现数据连贯,可依据数据连贯的名称、类型、标签等内容进行检索,反对导入、导出与复制,不便做迁徙和备份编辑。右上角新建按钮能够点击新建 Kafka、Redis 以及 Clickhouse 的原表和后果表。通过页面式、配置化操作,将各数据资源虚拟化成 Flink 表。
新建 Kafka 源表
命名数据连贯名称:名称不便于在数据列表中进行查问。
- 地址和端口:用于读取集群上的 topic;
- Kafka 类型:Kafka 类型分为 Kafka 和 upsert-Kafka;
- 数据格式:罕用数据格式为 json;
- 生产形式:分为从头开始生产(从最老的数据将 Kafka topic 残缺的数据都生产到)、从以后地位,从 group offset 以及从指定工夫开始生产;
- 最大读取记录数:一批次内读取的最大数据量;
- key 格局与字段
动静表名称:后续在 Flink SQL 中写 SQL 时将会用到,即建表的表名
Kafka 源表创立实现之后,将会失去该建表语句
反对数据连贯类型
- Kafka:反对 Kafka 连接器和 upsert-Kafka 连接器
- Clickhouse:基于 jdbc 连接器开发,反对 Clickhouse 集群和多节点轮询数据写入
- Redis:自主开发,反对单机、集群、哨兵和代理模式的 Redis 服务,提供写入和维表关联能力
- 逐渐反对更多的数据连贯
数据作业开发
数据作业开发页面与数据源页面相似,右边为目录,左边能够新建编辑作业。
编辑 SQL 页面反对以下操作:
- 反对勾选数据源表和数据后果表
- 抉择数据表后,填充建表语句至编辑区,反对自定义批改
- 反对增加自定义算子
SQL 编辑实现后可进行作业配置操作:
- 并行度:工作每个算子的线程数
- 插槽数:每个插槽独占 CPU 资源,但应用同一个执行器的 JVM 内存资源(同一个 taskmanager 的插槽),减少插槽数会获取更多的计算资源,但不利于内存资源的利用效率。
- 重启策略:可设置固定重启次数和失败比例策略
工作启动流程
Flink 工作启动会运行起一个 JobManager 和一个或多个 TaskManager。
JobManager:负责资源提供、回收、调配,任务调度、解决实现或失败的工作、协调 checkpoint、提供 REST 接口和 WebUI 展现作业执行信息。
TaskManager:执行作业工作并缓存和替换数据流,蕴含一个或多个 task slot。TaskManager 中 task slot 的数量示意并发解决 task 的数量,一个 task slot 中能够执行多个算子。
TaskManager 是一个 JVM 过程,所蕴含的多个 Task Slot 会均分 JVM 内存。多个算子可共享一个 Task Slot,有利于资源分配和资源利用,并行度设置为 Task Slot 数的整数倍,会平均的调配到每个 Task Slot。
Flink 工作监控页面
平台内保护了工作状态、运行日志等内容,Flink 本身也提供了具体的工作监控能力,Flink 工作监控蕴含 Flink 工作运行状态、时长以及资源分配状况的监控。会展现算子 DAG 图,数据处理状况以及算子反压、异样日志、Checkpoint 记录等。
下图为 TaskManager、JobManager 的内存占用、GC 状况以及运行日志。
理解更多
云智慧已开源集轻量级、聚合型、智能运维为一体的综合运维治理平台 OMP(Operation Management Platform),具备 纳管、部署、监控、巡检、自愈、备份、复原 等性能,可为用户提供便捷的运维能力和业务管理,在进步运维人员等工作效率的同时,极大晋升了业务的连续性和安全性。点击下方地址链接,欢送大家给 OMP 点赞送 star,理解更多相干内容~
GitHub 地址:https://github.com/CloudWise-OpenSource/OMP
Gitee 地址:https://gitee.com/CloudWise/OMP