当学习一门新的编程语言时,往往会从“hello world”程序开始,而接触一套新的大数据计算框架时,则一般会从WordCount用例入手。可千万不要小看WordCount,这个用例除了有简洁、易懂的优点,还包含对数据的映射处理和聚合操作,这正是MapReduce编程模型。在分布式架构中,要聚合不同物理节点上的数据,这意味着需要进行网络传输、数据的重分区等。可以说,如果完全了解了WordCount用例在分布式计算框架中的运行原理,基本上就掌握了该框架的核心设计思想。

本章从Flink源码工程中的WordCount程序入手进行讲解,“开门见山”地讲解何谓“Flink编程”。随后会在介绍各个API的语义时对该用例进行简单的修改,引入新的转换操作对数据进行处理。本章会依次介绍DataStream API、DataSet API、Table API和SQL。

希望在学习本章后,读者能够了解:

Flink编程的基本模式;

常用API的语义和用法。