随笔分类 - Flink官网翻译
Flink官网翻译
摘要:用户自定义函数 大多数操作都需要用户定义的函数。本节列出了如何指定这些函数的不同方法。我们还涵盖了累加器,它可以用来深入了解您的Flink应用。 Lambda函数 在前面的例子中已经看到,所有的操作都接受lambda函数来描述操作。 val data: DataSet[String] = // [.
阅读全文
摘要:管理状态的自定义序列化 本页面的目标是为需要使用自定义状态序列化的用户提供指导,涵盖了如何提供自定义状态序列化器,以及实现允许状态模式演化的序列化器的指南和最佳实践。 如果你只是简单地使用Flink自己的序列化器,这个页面是不相关的,可以忽略。 使用自定义状态序列器 当注册一个托管操作符或键控状态时
阅读全文
摘要:状态方案的演变 Apache Flink流媒体应用通常被设计为无限期或长时间运行。与所有长期运行的服务一样,应用程序需要更新以适应不断变化的需求。这对于应用程序所针对的数据模式也是一样的,它们会随着应用程序的发展而发展。 本页提供了关于如何演进状态类型的数据模式的概述。当前的限制在不同的类型和状态结
阅读全文
摘要:状态后台 Flink提供了不同的状态后端,指定状态的存储方式和位置。 状态可以位于Java的堆上或离堆。根据你的状态后端,Flink还可以为应用程序管理状态,这意味着Flink处理内存管理(必要时可能会溢出到磁盘),以允许应用程序持有非常大的状态。默认情况下,配置文件flink-conf.yaml决
阅读全文
摘要:可查询的状态 注意:可查询状态的客户端API目前处于不断发展的状态,对所提供接口的稳定性不做保证。在即将到来的Flink版本中,客户端的API很可能会有突破性的变化。 简而言之,该功能将Flink的托管键值(分区)状态(参见Working with State)暴露给外界,并允许用户从Flink外部
阅读全文
摘要:检查点 Flink中的每一个函数和操作符都可以是有状态的(详情请看使用状态)。有状态的函数在单个元素/事件的处理过程中存储数据,使得状态成为任何类型的更复杂操作的关键构建模块。 为了使状态具有容错性,Flink需要对状态进行检查点。检查点允许Flink恢复流中的状态和位置,使应用程序具有与无故障执行
阅读全文
摘要:广播状态模式 在本节中,您将了解如何在实践中使用广播状态。请参考状态流处理,了解状态流处理背后的概念。 提供的API 为了展示所提供的API,我们将在介绍它们的全部功能之前先举一个例子。作为我们的运行示例,我们将使用这样的情况:我们有一个不同颜色和形状的对象流,我们希望找到相同颜色的对象对,并遵循特
阅读全文
摘要:有状态程序 在本节中,您将了解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会定期对所有状态进行持久化快照,并将这些快照复制到某个更持久的地方,比如分布式文件系统。 在发生故障
阅读全文