本文将从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