༺歲月蹉跎༻

只要路是对的,就不怕路远!

0%

1、简介

  • 之前所介绍的流处理 API,无论是基本的转换、聚合,还是更为复杂的窗口操作,其实都是基于DataStream进行转换的;所以可以统称为DataStream API,这也是Flink编程的核心。 而我们知道,为了让代码有更强大的表现力和易用性,Flink本身提供了多层API,DataStream API只是中间的一环,如图所示:

    1664005280714

阅读全文 »

1、简介

  • 我们已经了解了基本API的用法,熟悉了DataStream进行简单转换、聚合的一些操作。 除此之外,Flink还提供了丰富的转换算子,可以用于更加复杂的处理场景。
  • 在流数据处理应用中,一个很重要、也很常见的操作就是窗口计算。所谓的“窗口”,一般就是划定的一段时间范围,也就是“时间窗”;对在这范围内的数据进行处理,就是所谓的窗口计算。所以窗口和时间往往是分不开的。
阅读全文 »

1、简介

  • Flink有非常灵活的分层API设计,其中的核心层就是DataStream/DataSet API。由于新版本已经实现了流批一体,DataSet API将被弃用,官方推荐统一使用DataStream API处理流数据和批数据。

  • DataStream(数据流)本身是Flink中一个用来表示数据集合的类(Class),我们编写的Flink代码其实就是基于这种数据类型的处理,所以这套核心API就以DataStream命名。对于批处理和流处理,我们都可以用这同一套API来实现。

  • DataStream在用法上有些类似于常规的Java集合,但又有所不同。我们在代码中往往并不关心集合中具体的数据,而只是用API定义出一连串的操作来处理它们;这就叫作数据流的“转换”(transformations)。

阅读全文 »

1、初识Flink

1.1 Flink的源起和设计理念

  • Flink起源于一个叫作Stratosphere的项目,它是由3所地处柏林的大学和欧洲其他一些大学在2010~2014年共同进行的研究项目,由柏林理工大学的教授沃克尔·马尔科(Volker Markl) 领衔开发。2014年4月,Stratosphere的代码被复制并捐赠给了Apache软件基金会,Flink就是在此基础上被重新设计出来的。

  • 从命名上,我们也可以看出Flink项目对于自身特点的定位,那就是对于大数据处理,要做到快速和灵活。

阅读全文 »