
官方Flink入门笔记
文章平均质量分 92
张伯毅
某厂技术,Apache DolphinScheduler Committer.
专注于调度&实时&大数据体系~
展开
-
[官方Flink入门笔记 ] 九、Flink SQL 编程实践
一 .简介1.1. Flink SQL是什么1.2. Window Aggregation1.3. Group Aggregation二 .实例所需的案例参考: https://github.com/ververica/sql-training2.1. 数据介绍数据是 Rides 表,这是一张出租车的行车记录数据流,包含了时间和位置信息,运行 DESCRIBE Rides; 可以查看表结构。Flink SQL> DESCRIBE Rides;root |-- rid转载 2021-02-18 00:41:50 · 765 阅读 · 0 评论 -
[官方Flink入门笔记 ] 八、Table API 编程
一 .什么是 Table API为了更好地了解 Table API,我们先看下 Flink 都提供了哪些 API 供用户使用。1.1. Flink API 总览Flink 根据使用的便捷性和表达能力的强弱提供了 3 层 API,由上到下,表达能力逐渐增强,比如 processFunction,是最底层的 API,表达能力最强,我们可以用他来操作 state 和 timer 等复杂功能。Datastream API 相对于 processFunction 来说,又进行了进一步封装,提供了很多标准的语转载 2021-02-18 00:18:31 · 554 阅读 · 0 评论 -
[官方Flink入门笔记 ] 七、状态管理及容错机制
一 .前言1.1. 什么是状态首先举一个无状态计算的例子:消费延迟计算。假设现在有一个消息队列,消息队列中有一个生产者持续往消费队列写入消息,多个消费者分别从消息队列中读取消息。从图上可以看出,生产者已经写入 16 条消息,Offset 停留在 15 ;有 3 个消费者,有的消费快,而有的消费慢。消费快的已经消费了 13 条数据,消费者慢的才消费了 7、8 条数据。如何实时统计每个消费者落后多少条数据,如图给出了输入输出的示例。可以了解到输入的时间点有一个时间戳,生产者将消息写到了某个时间点的位置转载 2021-02-17 20:45:10 · 517 阅读 · 0 评论 -
[官方Flink入门笔记 ] 六、Window & Time
一 .前言Apache Flink(以下简称 Flink) 是一个天然支持无限流数据处理的分布式计算框架,在 Flink 中 Window 可以将无限流切分成有限流,是处理有限流的核心组件,现在 Flink 中 Window 可以是时间驱动的(Time Window),也可以是数据驱动的(Count Window)。下面的代码是在 Flink 中使用 Window 的两个示例二 .Window API 使用以一个实际例子来看看怎么使用 Window 相关的 API。代码来自 flink-exa转载 2021-02-16 19:52:16 · 395 阅读 · 0 评论 -
[官方Flink入门笔记 ] 五、客户端操作
一 .环境说明在前面几期的课程里面讲过了 Flink 开发环境的搭建和应用的部署以及运行,今天的课程主要是讲 Flink 的客户端操作。本次讲解以实际操作为主。这次课程是基于社区的 Flink 1.12.1 版本,操作系统是 Mac 系统,浏览器是 Google Chrome 浏览器。二 .概要Flink 提供了丰富的客户端操作来提交任务和与任务进行交互,包括 Flink 命令行,Scala Shell,SQL Client,Restful API 和 Web。Flink 首先提供的最重要的是命令行翻译 2021-02-16 18:53:30 · 2426 阅读 · 1 评论 -
[官方Flink入门笔记 ] 四、DataStream API 编程
一 .流处理基本概念对于什么是流处理,从不同的角度有不同的定义。其实流处理与批处理这两个概念是对立统一的,它们的关系有点类似于对于 Java 中的 ArrayList 中的元素,是直接看作一个有限数据集并用下标去访问,还是用迭代器去访问。流处理系统本身有很多自己的特点。一般来说,由于需要支持无限数据集的处理,流处理系统一般采用一种数据驱动的处理方式。它会提前设置一些算子,然后等到数据到达后对数据进行处理。为了表达复杂的计算逻辑,包括 Flink 在内的分布式流处理引擎一般采用 DAG 图来表示整个转载 2021-02-15 19:43:23 · 472 阅读 · 0 评论 -
[官方Flink入门笔记 ] 三、开发环境搭建和应用的配置、部署及运行
一、Flink 开发环境部署和配置Flink 是一个以 Java 及 Scala 作为开发语言的开源大数据项目,代码开源在 GitHub 上,并使用 Maven 来编译和构建项目。对于大部分使用 Flink 的同学来说,Java、Maven 和 Git 这三个工具是必不可少的,另外一个强大的 IDE 有助于我们更快的阅读代码、开发新功能以及修复 Bug。1.1. 环境准备&代码下载.我使用的是mac系统.前置环境工具描述Java版本至少是Java 8,且最好选用翻译 2021-02-15 17:57:55 · 1510 阅读 · 0 评论 -
[官方Flink入门笔记 ] 一&二、基础概念解析
一. Apache Flink 的定义、架构及原理Apache Flink 是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态或无状态的计算,能够部署在各种集群环境,对各种规模大小的数据进行快速计算。1.1. Flink Application了解 Flink 应用开发需要先理解 Flink 的 Streams、State、Time 等基础处理语义以及 Flink 兼顾灵活性和方便性的多层次 API。Streams : 流,分为有限数据流与无限数据流,unbounded strea转载 2021-02-13 02:17:48 · 598 阅读 · 0 评论