Apache Flink简介

Apache Flink简介



Apache Flink是一个可伸缩的开源批处理和流处理平台。其核心模块是一个数据流引擎,该引擎在分布式的流数据处理的基础上提供数据分发、交流、以及容错的功能,其架构图如下:

该引擎包含如下APIs:

1. DataSet API for static data embedded in Java, Scala, and Python

2. DataStream API for unbounded streams embedded in Java and Scala, and

3. Table API with a SQL-like expression language embedded in Java and Scala.

Flink也包含了一些其他领域的组件:

1.Machine Learning library

2.Gelly, a graph processing API and library

Flink系统概览

Flink支持java和scala语言的数据处理API,有一个优化的分布式运行自定义内存管理。

Flink特点

1、Fast,Flink在运行时利用内存数据流和集成迭代处理,这样对于数据密集型计算和迭代计算变的很快

2、高可靠性和高伸缩性。Flink包含自己的内存管理组件,序列化组件和type inference组件。

3、优雅美观的API设计

workcount scala示例

case class Word (word: String, frequency: Int)
val counts = text
.flatMap {line => line.split(" ").map(
word => Word(word,1))}
.groupBy("word").sum("frequency"

Closure代码示例

case class Path (from: Long, to: Long)
val tc = edges.iterate(10) { paths: DataSet[Path] =>
    val next = paths
    .join(edges).where("to").equalTo("from") {
    (path, edge) => Path(path.from, edge.to)
    }
    .union(paths).distinct()
    next
}

4、可兼容Hadoop,可在YARN上运行

参考

Apache Flink

时间: 2024-10-29 19:48:54

Apache Flink简介的相关文章

新一代大数据处理引擎 Apache Flink

https://www.ibm.com/developerworks/cn/opensource/os-cn-apache-flink/index.html 大数据计算引擎的发展 这几年大数据的飞速发展,出现了很多热门的开源社区,其中著名的有 Hadoop.Storm,以及后来的 Spark,他们都有着各自专注的应用场景.Spark 掀开了内存计算的先河,也以内存为赌注,赢得了内存计算的飞速发展.Spark 的火热或多或少的掩盖了其他分布式计算的系统身影.就像 Flink,也就在这个时候默默的发

Apache Flink数据流的Fault Tolerance机制

简介 Apache Flink提供了一个失败恢复机制来使得数据流应用可以持续得恢复状态.这个机制可以保证即使线上环境的失败,程序的状态也将能保证数据流达到exactly once的一致性.注意这里也可以选择降级到保证at least once的一致性级别. 失败恢复机制持续地构建分布式流式数据的快照.对于那些只有少量状态的流处理应用,这些快照都是非常轻量级的并且可以以非常频繁的频率来构建快照而不需要太多地考虑性能问题.而流应用的状态被存储在一个可配置的持久化存储(比如master节点或者HDFS

通过 GOOGLE 大数据计算平台演进理解 APACHE FLINK 前世今生

一.背景 2019年1月,伴随 APACHE FLINK 母公司 Data Artisans 被 收购 ,FLINK 毫无争议成为继 SPARK 之后的新一代大数据计算平台,本文希望通过 GOOGLE 计算平台演进来更好的理解 FLINK. 二.GOOGLE 大数据计算平台演进 GOOGLE 作为搜索引擎的顶级公司,需要处理海量数据,其大数据计算平台的演进是行业的风向标:本文通过 GOOGLE 在该领域发表的论文进行剖析,希望从中提取一些演进的主线. 2.1 分布式的三篇经典 2003年,[Th

终于等到你!阿里正式向 Apache Flink 贡献 Blink 源码

摘要: 如同我们去年12月在 Flink Forward China 峰会所约,阿里巴巴内部 Flink 版本 Blink 将于 2019 年 1 月底正式开源.今天,我们终于等到了这一刻. 阿里妹导读:如同我们去年12月在 Flink Forward China 峰会所约,阿里巴巴内部 Flink 版本 Blink 将于 2019 年 1 月底正式开源.今天,我们终于等到了这一刻. 阿里资深技术专家大沙,将为大家详细介绍本次开源的Blink主要功能和优化点,希望与业界同仁共同携手,推动Flin

社区活动 | Apache Flink 1.9 版本即将发布,新版本有哪些新特性?

6 月 29 号,Apache Flink 社区 Meetup 北京站即将到来,此次 Meetup 一如既往地邀请了社区多位 Flink 技术专家现场分享.伴随着 Apache Flink 1.9 版本发布日期临近,大家对 Apache Flink 1.9 版本有哪些新特性都十分好奇,本次 Meetup 特邀 Apache Flink PMC 与阿里巴巴.快手的技术专家为你解读新特性.分享 Flink 的应用与实践. 活动流程 演讲主题及嘉宾介绍 < Apache Flink 1.9 特性解读>

为什么学习Apache Flink

Apache Flink 的简介 Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎.Flink以数据并行和流水线方式执行任意流数据程序,Flink的流水线运行时系统可以执行批处理和流处理程序.此外,Flink的运行时本身也支持迭代算法的执行. Flink :是一个数据处理框架.分布式数据处理引擎.有状态计算.支持有界数据计算与无界数据计算 Flink应用开发基础语义.多层API:数据流.数据集合.有状态.无状态.时间

Apache Flink流分区器剖析

这篇文章介绍Flink的分区器,在流进行转换操作后,Flink通过分区器来精确得控制数据流向. StreamPartitioner StreamPartitioner是Flink流分区器的基类,它只定义了一个抽象方法: public abstract StreamPartitioner<T> copy(); 但这个方法并不是各个分区器之间互相区别的地方,定义不同的分区器的核心在于--各个分区器需要实现channel选择的接口方法: int[] selectChannels(T record,

Apache Flink fault tolerance源码剖析(四)

上篇文章我们探讨了Zookeeper在Flink的fault tolerance中发挥的作用(存储/恢复已完成的检查点以及检查点编号生成器). 这篇文章会谈论一种特殊的检查点,Flink将之命名为--Savepoint(保存点). 因为保存点只不过是一种特殊的检查点,所以在Flink中并没有太多代码实现.但作为一个特性,值得花费一个篇幅来介绍. 检查点VS保存点 使用数据流API编写的程序可以从保存点来恢复执行.保存点允许你在更新程序的同时还能保证Flink集群不丢失任何状态. 保存点是人工触发

Apache Flink fault tolerance源码剖析(一)

因某些童鞋的建议,从这篇文章开始结合源码谈谈Flink Fault Tolerance相关的话题.上篇官方介绍的翻译是理解这个话题的前提,所以如果你想更深入得了解Flink Fault Tolerance的机制,推荐先读一下前篇文章理解它的实现原理.当然原理归原理,原理体现在代码实现里并不是想象中的那么直观.这里的源码剖析也是我学习以及理解的过程. 作为源码解析Flink Fault Tolerance的首篇文章,我们先暂且不谈太有深度的东西,先来了解一下:Flink哪里涉及到检查点/快照机制来