1.美图
2.概述
flink任务本身提供了各种类型的指标监控,细化到了每一个Operator的流入/流出量、速率、Watermark值等,通常在实际应用中需要对接入数据做格式化例如转json,符合要求的数据会向下流动,不符合要求或者格式化异常称为脏数据会被过滤掉,现在目标实现一个通用化方式能够对正常数据与脏数据进行指标统计。
实现思路:
flink metric
类型分为Counter、Gauge、Histogram、Meter
,需要统计的是一个累加值因此选取Counter
类型的metirc- 由于是对任务的流入监控,因此需要在Source端进行处理,通常对接的数据源是
kafka
, 而flink
本身已经提供了kakfa connector
,并且开放了数据反序列化的接口DeserializationSchema
与抽象类AbstractDeserializationSchema
,实现该接口或者继承抽象类可以完成数据的反序列化与格式化,由于每一条数据都需要进过反序列化处理,那么可以在反序列化的同时进行指标统计- 在
flink
中自定义Metric
入口是RuntimeContext
, 但是在反序列化抽象类中并没有提供访问RuntimeContext
的接口
- 在