2023年12月2日
这一课时将介绍 Flink 中提供的一个很重要的功能:旁路分流器。 分流场景 我们在生产实践中经常会遇到这样的场景,需把输入源按照需要进行拆分,比如我期望把订单流按照金额大小进行拆分,或者把用户访问日志按照访问者的地理位置进行拆分等。面对这样的需求该如何操作呢? 分流的方法 通常来说针对不同的场景,……
阅读全文
2023年12月2日
这一课时我们主要讲解 Flink 的状态和容错。 在 Flink 的框架中,进行有状态的计算是 Flink 最重要的特性之一。所谓的状态,其实指的是 Flink 程序的中间计算结果。Flink 支持了不同类型的状态,并且针对状态的持久化还提供了专门的机制和状态管理器。 状态 我们在 Flink 的官方博客中找到这样一段话,可以认为这是对状态的定义……
阅读全文
2023年12月2日
本课时主要介绍 Flink 中的时间和水印。 我们在之前的课时中反复提到过窗口和时间的概念,Flink 框架中支持事件时间、摄入时间和处理时间三种。而当我们在流式计算环境中数据从 Source 产生,再到转换和输出,这个过程由于网络和反压的原因会导致消息乱序。因此,需要有一个机制来解决这个问题,这个特别的机制……
阅读全文
2023年12月2日
在 Flink 这个框架中,有很多独有的概念,比如分布式缓存、重启策略、并行度等,这些概念是我们在进行任务开发和调优时必须了解的,这一课时我将会从原理和应用场景分别介绍这些概念。 分布式缓存 熟悉 Hadoop 的你应该知道,分布式缓存最初的思想诞生于 Hadoop 框架,Hadoop 会将一些数据或者文件缓存在 HDFS 上,在分布……
阅读全文
2023年12月2日
我们在这一课时将讲解 Flink 常见的部署模式:本地模式、Standalone 模式和 Flink On Yarn 模式,然后分别讲解三种模式的使用场景和部署中常见的问题,最后将讲解在生产环境中 Flink 集群的高可用配置。 Flink 常见的部署模式 环境准备 在绝大多数情况下,我们的 Flink 都是运行在 Unix 环境中的,推荐在 Mac OS 或者 Linux 环境下运行 Fl……
阅读全文
2023年12月2日
我们在第 02 课时中使用 Flink Table & SQL 的 API 实现了最简单的 WordCount 程序。在这一课时中,将分别从 Flink Table & SQL 的背景和编程模型、常见的 API、算子和内置函数等对 Flink Table & SQL 做一个详细的讲解和概括,最后模拟了一个实际业务场景使用 Flink Table & SQL 开发。 Flink Table & SQL 概述 背景 我们在前面的课时中讲过 Flink 的分层模型,Flink 自身提供……
阅读全文
2023年12月2日
本课时我们主要介绍 Flink 的 DataSet 和 DataStream 的 API,并模拟了实时计算的场景,详细讲解了 DataStream 常用的 API 的使用。 说好的流批一体呢 现状 在前面的课程中,曾经提到过,Flink 很重要的一个特点是“流批一体”,然而事实上 Flink 并没有完全做到所谓的“流批一体”,即编写一套代码,可以同时支持流式计算场景和批量计算的场……
阅读全文
2023年12月2日
本课时我们主要介绍 Flink 的编程模型与其他框架比较。 本课时的内容主要介绍基于 Flink 的编程模型,包括 Flink 程序的基础处理语义和基本构成模块,并且和 Spark、Storm 进行比较,Flink 作为最新的分布式大数据处理引擎具有哪些独特的优势呢? Flink 的核心语义和架构模型 我们在讲解 Flink 程序的编程模型之前,先……
阅读全文
2023年12月2日
本课时我们主要介绍 Flink 的入门程序以及 SQL 形式的实现。 上一课时已经讲解了 Flink 的常用应用场景和架构模型设计,这一课时我们将会从一个最简单的 WordCount 案例作为切入点,并且同时使用 SQL 方式进行实现,为后面的实战课程打好基础。 我们首先会从环境搭建入手,介绍如何搭建本地调试环境的脚手架;然后分别从DataS……
阅读全文
2023年12月2日
你好,欢迎来到第 01 课时,本课时我们主要介绍 Flink 的应用场景和架构模型。 实时计算最好的时代 在过去的十年里,面向数据时代的实时计算技术接踵而至。从我们最初认识的 Storm,再到 Spark 的异军突起,迅速占领了整个实时计算领域。直到 2019 年 1 月底,阿里巴巴内部版本 Flink 正式开源!一石激起千层浪,Flink……
阅读全文