flink 一步一步学习

flink是一个用于对无界和有界数据流进行有状态计算的框架和分布式处理引擎,被设计在所有常见的集群环境中运行,以内存执行速度和任意规模来执行计算, 即它是一个持高吞吐、低延迟、高性能的分布式处理框架。是Apache软件基金会的顶级项目

flink图标

flink是什么?

对于技术学习,无论是什么语言什么工具,对其介绍或者说学习最主要的途径就是官方网站和主要文档。其它任何地方的信息都是其官方网站的信息挪用。对flink的介绍在其官网上有下边一段话。

Apache Flink is a framework and distributed processing engine for stateful computations over unbounded and bounded data streams. Flink has been designed to run in all common cluster environments, perform computations at in-memory speed and at any scale.

大概翻译一下: flink是一个用于对无界和有界数据流进行有状态计算的框架和分布式处理引擎,被设计在所有常见的集群环境中运行,以内存执行速度和任意规模来执行计算, 即它是一个持高吞吐、低延迟、高性能的分布式处理框架

  • 无界数据流:无界数据流有一个开始但是没有结束
  • 有界数据流:有界数据流有明确定义的开始和结束

flink的特点

用一句话来概述特点就是,flink基于数据流的状态计算。而在其官网地址打开时有一张图也可以具体的体现其特点。事件驱动、流处理、流批一体
flink的基本特点介绍

flink VS spark

在spark中,一切都是由批次组成的,离线数据是一个大批次,而实时数据是由一个一个无限的小批次组成的,本质是RDD,是数据集合,是有界的。
在flink中,一切都是由流组成的,离线数据是有界限的流,实时数据是一个没有界限的流,这就是所谓的有界流和无界流。

友情链接

  1. apache hive 大数据的ETL工具/ 数据仓库
  2. spark是什么?在大数据圈子里的地位如何
  3. Spark的RDD中的action(执行)和transformation(转换)两种操作
  4. hadoop distcp 分布式拷贝命令基本介绍

Spark的RDD中的action(执行)和transformation(转换)两种操作

弹性分布式数据集(RDD)

Spark是以RDD概念为中心运行的。RDD是一个容错的、可以被并行操作的元素集合。创建一个RDD有两个方法:在你的驱动程序中并行化一个已经存在的集合;从外部存储系统中引用一个数据集。RDD的一大特性是分布式存储,分布式存储在最大的好处是可以让数据在不同工作节点并行存储,以便在需要数据时并行运算。弹性指其在节点存储时,既可以使用内存,也可已使用外存,为使用者进行大数据处理提供方便。除此之外,RDD的另一大特性是延迟计算,即一个完整的RDD运行任务被分为两部分:Transformation和Action。

spark

Transformation:用于对RDD的创建,RDD只能使用Transformation创建,同时还提供大量操作方法,包括map,filter,groupBy,join等,RDD利用这些操作生成新的RDD,但是需要注意,无论多少次Transformation,在RDD中真正数据计算Action之前都不可能真正运行。

Action:是数据执行部分,其通过执行count,reduce,collect等方法真正执行数据的计算部分。实际上,RDD中所有的操作都是Lazy模式进行,运行在编译中不会立即计算最终结果,而是记住所有操作步骤和方法,只有显示的遇到启动命令才执行。这样做的好处在于大部分前期工作在Transformation时已经完成,当Action工作时,只需要利用全部自由完成业务的核心工作。