JasonLee实时计算普通用户
-
Flink 侧流输出源码解析
Flink 的 side output 为我们提供了侧流(分流)输出的功能,根据条件可以把一条流分为多个不同的流,之后做不同的处理逻辑,下面就来看下侧流输出相关的源码。
-
Flink 源码:广播流状态源码解析
Broadcast State 是 Operator State 的一种特殊类型。它的引入是为了支持这样的场景: 一个流的记录需要广播到所有下游任务,在这些用例中,它们用于在所有子任务中维护相同的状态。然后可以在处理第二个流的数据时访问这个广播状态,广播状态有自己的一些特性。
-
Flink + Prometheus + Grafana 实时监控最佳实践
我们都知道 Flink 任务是一个 7*24 小时不停运行的任务,所以对于任务的实时监控就显得尤为重要,因为任务运行的状态对于我们来说是一个黑盒,比如任务是否挂掉,是否存在反压,使用的内存,CPU 等情况我们是不知道的,虽然 Flink 的 UI 上面可以添加相关的 metrics 来查看,但是需要手动的一个一个添加,还是比较麻烦的,特别是在任务非常多的情况下.所以就需要有一种统一的监控方案来解决这个问题.Flink 本身提供了非常丰富的 Metric Reporters,比如 JMX InfluxDB Graphite Prometheus 等等,生产环境上用的比较多的是 InfluxDB 和 Prometheus ,我这里选择的是 Prometheus 来上报 Flink 的 metrics 然后通过 Grafana 进行展示.
-
如何给 Flink Print SQL Connector 添加随机取样功能?
Flink 提供了 Print SQL Connector 可以让我们非常方便的把数据打印到标准输出.有助于我们测试 SQL 任务,检验数据的正确性.
但是在生产环境中,上游的数据量是非常大的,如果直接把数据输出的话,可能会把标准输出文件打满,造成页面卡死的情况,反而不利于我们观测数据,所以我们可以对 Print SQL Connector 进行简单的改造,加一个随机取样的参数控制数据输出.