马云曾在一次演讲中说道:“未来的时代,将不再是 IT 时代,而是 DT 时代。”
的确,这些年,越来越多开发,转行做大数据,又或通过大数据打造自己的竞争力(比如很多 Java 开发都会学学大数据),核心原因有三点:
- 云计算技术的发展会降低功能开发的难度,很多开发会向低代码方向发展。
- 大数据的价值空间正在逐渐形成,而围绕大数据进行价值化操作将是一个新的发展趋势,人才需求会更集中。
- 大数据是人工智能的基础,但是相比于人工智能技术来说,大数据的技术体系已经趋于成熟,更容易实现产业化落地。
不光如此,从大数据的薪资上来看,我们就可以看出它的“钱”景一片光明。
在大数据的众多技术栈中,能真正能同时做到低时延、Exactly-Once 数据一致性保障及高吞吐的,只有 Flink 一个。而且,Flink 同时支持流处理和批处理,解决了用批来模拟流的技术局限性。
基本上使用大数据技术的公司,都会优先选择 Flink 作为技术解决方案,但 Flink 的上手门槛比较高,好在 FlinkSQL 来了,在 Flink1.13 及以后的版本当中,SQL 功能已经日趋完善,可以用在实际线上生产环境当中了,这大大降低了大数据的学习成本和门槛。
一. FlinkSQL 的优势
1. 通过 SQL 语法,不管数据是批量处理还是流式处理,都可以统一抽象解决了。再也不用花大量时间成本在代码调试上,而是专注于业务逻辑的处理。
2. 如果处理批量数据文件,也可以使用 SQL 来实现。
3. 如果处理的是流式数据,也可以通过 SQL 来实现,而且 Flink 当中也有强大的功能可以支持,主要包括以下核心功能:
只要学会了 FlinkSQL,就可以轻松搞定各种数据处理场景,解决流式以及批量数据处理,而且可以轻松实现与外部系统的集成应用。
二、如何快速上手?
在这给你个学习路线图,分成以下几大模块
这是我最近看到的一门「 FlinkSQL 的实战好课」,从基本概念介绍,到代码实践练习,带你轻松通过 FlinkSQL 学习过程里的所有难关。
课程共 3 小时,只要一个晚上,基本就能拿下。主要包含了以下这些知识点:
- 流式处理以及批量处理的技术发展历程
- FlinkSQL 流批一体的设计思想
- Flink Table 以及 SQL 的编程实践
- FlinkSQL 整合外部的各种系统,例如 CSV、Json、Kafka、HBase、MySQL 以及 Hive 等
- FlinkSQL 当中的窗口操作
- FlinkSQL 当中的内置函数定义