12 2020 档案
摘要:有状态程序 在本节中,您将了解Flink为编写有状态程序提供的API。请看一下Stateful Stream Processing来了解有状态流处理背后的概念。 带键值的数据流 如果要使用键控状态,首先需要在DataStream上指定一个键,这个键应该用来分割状态(也包括流中的记录本身)。你可以在D
阅读全文
摘要:状态和容错 在本节中,您将了解Flink为编写有状态程序提供的API。请看一下Stateful Stream Processing来了解有状态流处理背后的概念。 下一步去哪里? Working with State: Shows how to use state in a Flink applica
阅读全文
摘要:内置水印生成器 正如在Generating Watermarks一文中所描述的,Flink提供了抽象,允许程序员分配自己的时间戳和发射自己的水印。更具体地说,可以通过实现WatermarkGenerator接口来实现。 为了进一步简化此类任务的编程工作,Flink自带了一些预先实现的时间戳分配器。本
阅读全文
摘要:生成水印 在本节中,您将了解 Flink 提供的 API,用于处理事件时间时间戳和水印。关于事件时间、处理时间和摄取时间的介绍,请参考事件时间的介绍。 水印策略介绍 为了使用事件时间,Flink需要知道事件的时间戳,这意味着流中的每个元素都需要分配其事件时间戳。这通常是通过使用TimestampAs
阅读全文
摘要:事件时间 在本节中,您将学习如何编写时间感知的Flink程序。请看一下及时流处理,了解及时流处理背后的概念。 关于如何在Flink程序中使用时间的信息请参考windowing和ProcessFunction。 需要注意的是,为了使用事件时间感知操作,程序需要使用直接为数据定义事件时间并自己发射水印的
阅读全文
摘要:执行模式(批处理/流处理) DataStream API 支持不同的运行时执行模式,您可以根据用例的要求和作业的特点从中选择。DataStream API 有一种 "经典 "的执行行为,我们称之为 STREAMING 执行模式。这应该用于需要连续增量处理并预计无限期保持在线的非绑定作业。此外,还有一
阅读全文
摘要:Flink DataStream API编程指南 Flink中的DataStream程序是对数据流实现转换的常规程序(如过滤、更新状态、定义窗口、聚合)。数据流最初是由各种来源(如消息队列、套接字流、文件)创建的。结果通过汇流返回,例如可以将数据写入文件,或标准输出(例如命令行终端)。Flink程序
阅读全文
摘要:术语表 Flink Application Cluster Flink应用集群是一个专用的Flink集群,它只执行一个Flink应用的Flink作业。Flink集群的寿命与Flink应用的寿命绑定。 Flink Job Cluster Flink Job Cluster是一个专用的Flink Clu
阅读全文
摘要:Flink架构 Flink是一个分布式系统,为了执行流式应用,需要对计算资源进行有效的分配和管理。它集成了所有常见的集群资源管理器,如Hadoop YARN、Apache Mesos和Kubernetes,但也可以设置为独立集群甚至作为库运行。 本节包含对Flink架构的概述,并描述其主要组件如何交
阅读全文
摘要:及时的流处理 介绍 及时流处理是有状态流处理的一种扩展,其中时间在计算中起着一定的作用。其中,当你做时间序列分析时,当做基于某些时间段(通常称为窗口)的聚合时,或者当你做事件处理时,事件发生的时间很重要时,都是这种情况。 在下面的章节中,我们将着重介绍一些您在使用及时Flink应用时应该考虑的主题。
阅读全文
摘要:有状态的流处理 什么是状态? 虽然数据流中的许多操作一次只看一个单独的事件(例如事件解析器),但有些操作会记住多个事件的信息(例如窗口操作符)。这些操作被称为有状态操作。一些有状态操作的例子。 - 当一个应用程序搜索某些事件模式时,状态将存储到目前为止遇到的事件序列。 - 当按分钟/小时/天聚合事件
阅读全文
摘要:概念-概览 实践培训解释了作为Flink的API基础的有状态和及时流处理的基本概念,并提供了这些机制如何在应用中使用的例子。有状态的流处理是在数据管道和ETL的背景下介绍的,并在容错部分进一步发展。在 "流分析 "一节中介绍了及时的流处理。 本概念深度部分提供了对Flink的架构和运行时如何实现这些
阅读全文
摘要:通过状态快照进行容错 状态后台 Flink管理的键控状态是一种碎片化的、键/值存储,每项键控状态的工作副本都被保存在负责该键的任务管理员的本地某处。操作员的状态也被保存在需要它的机器的本地。Flink会定期对所有状态进行持久化快照,并将这些快照复制到某个更持久的地方,比如分布式文件系统。 在发生故障
阅读全文
摘要:事件驱动的应用 处理函数 简介 ProcessFunction将事件处理与定时器和状态结合起来,使其成为流处理应用的强大构件。这是用Flink创建事件驱动应用的基础。它与RichFlatMapFunction非常相似,但增加了定时器。 例子 如果你做过 "流分析 "培训中的实战练习,你会记得它使用T
阅读全文
摘要:原子性A:一个事务内部的所有操作都是不可分割的,这叫原子性。一致性C:事务内部的所有操作要么都成功,要么都失败。隔离性I:事务与事务之间永远不相见。持久性D:就是说数据最终是落到磁盘永久保存的。
阅读全文
摘要:流式分析 事件时间和水印 介绍 Flink明确支持三种不同的时间概念。 事件时间:事件发生的时间,由产生(或存储)该事件的设备记录的时间 摄取时间:Flink在摄取事件时记录的时间戳。 处理时间:您的管道中的特定操作员处理事件的时间。 为了获得可重复的结果,例如,在计算某一天股票在交易的第一个小时内
阅读全文
摘要:数据管道和ETL 对于Apache Flink来说,一个非常常见的用例是实现ETL(提取、转换、加载)管道,从一个或多个源中获取数据,进行一些转换和/或丰富,然后将结果存储在某个地方。在这一节中,我们将看看如何使用Flink的DataStream API来实现这种应用。 请注意,Flink的Tabl
阅读全文
摘要:DataStream API介绍 本次培训的重点是广泛地介绍DataStream API,使你能够开始编写流媒体应用程序。 哪些数据可以流化? Flink的DataStream APIs for Java和Scala将让你流式处理任何它们可以序列化的东西。Flink自己的序列化器被用于 基本类型,即
阅读全文
摘要:学习Flink:实践培训 本次培训的目标和范围 本培训介绍了Apache Flink,包括足够的内容让你开始编写可扩展的流式ETL,分析和事件驱动的应用程序,同时省略了很多(最终重要的)细节。本书的重点是为Flink管理状态和时间的API提供直接的介绍,希望在掌握了这些基础知识后,你能更好地从更详细
阅读全文
摘要:Flink操作训练场 在各种环境中部署和操作Apache Flink的方法有很多。无论这种多样性如何,Flink集群的基本构件保持不变,类似的操作原则也适用。 在这个操场上,你将学习如何管理和运行Flink Jobs。您将看到如何部署和监控应用程序,体验Flink如何从Job故障中恢复,并执行日常操
阅读全文
摘要:利用表格API进行实时报告 Apache Flink提供的Table API是一个统一的、关系型的API,用于批处理和流处理,即在无边界的、实时的流或有边界的、批处理的数据集上以相同的语义执行查询,并产生相同的结果。Flink中的Table API通常用于简化数据分析、数据管道化和ETL应用的定义。
阅读全文
摘要:使用DataStream API进行欺诈检测 Apache Flink提供了一个DataStream API,用于构建强大的、有状态的流式应用。它提供了对状态和时间的精细控制,这使得高级事件驱动系统的实现成为可能。在这个分步指南中,你将学习如何使用Flink的DataStream API来构建一个有
阅读全文
摘要:本地安装 按照以下几个步骤下载最新的稳定版本并开始使用。 第一步:下载 为了能够运行Flink,唯一的要求是安装了一个有效的Java 8或11。你可以通过以下命令检查Java的正确安装。 java -version 下载1.12.0版本,并解压。 $ tar -xzf flink-1.12.0-bi
阅读全文