

Jeff Bean 谈 Flink 与流式处理的 5 大新发现
source link: https://www.infoq.cn/articles/hCzG*E8NIZi43ruvM3TT?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

AI 前线导读:
在大数据领域工作了近 8 年后,今年秋天,作为 data Artisans 的技术布道师,我在 Apache Flink 社区变得越来越活跃。在十月份举行的湾区 Flink 座谈会上,我从技术从业者的角度讨论了我对 Flink 的看法。虽然我是一名 Flink 新手,但我已经在大数据领域工作了很长时间。正如我在座谈会上所说的,我对人们这个领域的关注、投入和好奇心感到震惊。回想起来,这符合我对 Apache Flink 和 Apache Flink 社区的总体印象。下面我想介绍有关 Apache Flink 的 5 个早期印象,以及为什么企业应该在他们的流式处理架构中尽早尝试 Flink。
更多干货内容请关注微信公众号“AI 前线”(ID:ai-front)
流式处理一直是大数据项目的必经之路。
我在 2010 年进入大数据领域,当时最先进的是分布式文件系统,MapReduce、Hive、Pig、Flume 和 HBase。然而,低延迟数据处理长期以来一直是一个巨大的挑战。例如,在我进入该领域工作的头几个月,一位客户问我如何在 Hive 中对一个不断增长的表基于五分钟滚动窗口产生最新的聚合。这是一个非常困难的查询,客户和我都没有想出来该怎么做。MapReduce、Hive、Pig 和后来的 Spark 使用越来越小的批处理操作来处理大量不同数据,获得接近低延迟的结果。一些框架如 Flume 和后来的 Kafka 让数据摄取、封装和传输变得更容易。其他查询系统(如 HBase、Cassandra、Presto 和 Impala)可以近似实时地对新近摄取的数据进行交互式访问。但是,所有这些项目都忽略了客户和业务用户真正的需求:将数据表示为流,并基于流进行复杂有状态的分析。客户和最终用户通过各种有趣且昂贵的方式与延迟做斗争。
Apache Flink 在 2018 年的增长非常惊人。
最近 Qubole 的一份调查报告显示,Apache Flink 是 2018 年大数据和 Hadoop 生态系统中发展最快的引擎,与 2017 年的类似调查相比,采用量增长了 125%。这种采用率的提升给人造成了一种很强烈的印象,Datanami 网站的两篇与 Flink 不相关的文章中都提到了它。其中一篇感叹大数据生态系统变得日益复杂,涉及的项目呈爆发式的增长,以及在应用场景中采用了错误技术所涉及的风险,但又不遗余力地说明了 Flink 在采用方面的惊人增长。另一篇有关 Cloudera Mike Olson 的文章讨论了这个领域从“动物园动物争吵”到解决企业问题的演变,但它仍然给 Flink 的采用量增长点了一个赞。有时候,动物园里最好的动物不一定是你所期望的那个。
值得注意的是,虽然 data Artisans 支持 Flink,销售 Flink 相关的产品,并聘请了很多原始作者和提交者,但现今 Flink 的大部分采用都发生在 data Artisans 公司之外,比如 Netflix、阿里巴巴、Uber 和 Lyft,等等。
Flink 的分层抽象非常具有表现力,让你能够自然地概念化你的数据。
在使用 Hadoop 项目(如 MapReduce)多年之后,将流、状态、时间和快照的构造作为事件处理的构建块而不是键、值和执行阶段这些不完整的概念,这令人耳目一新。我的印象是 Flink 在接口以及这些接口如何与底层平台的功能相关联方面是最具表现力的。例如,SQL 接口支持滚动窗口和复杂事件处理。如下图的滚动时间窗口示例所示——几年前我们还很那做到这些——但现在却可以使用简单的 SQL 来表示。图中还显示了流式 API 和 processFunction 抽象级别的相似表现力。
我们看到了包装最佳实践的出现。
供应商可以为活跃的开源项目带来价值的一个地方是在精心构建的产品中包装专业知识和最佳实践。采用率较高的开源项目在选择性和可配置性方面变得更加广泛,因为它们运行在特定的生产环境中。
data Artisans 根据他们自己的经验以及 Flink 用户社区已经建立起的最佳实践包装了一些观点。例如,在部署方面,Apache Flink 支持 YARN、Mesos、Kubernetes 和独立部署。同样,Flink 的最终用户倾向于运行基于 Flink 的应用程序而不是 Flink 作业,这是 Flink 中可用的最高执行抽象。data Artisans 为 Flink 引入了应用程序的概念,可在 Kubernetes 上部署 Flink,包装了一个非常有用又可扩展的一集群一作业对应一个应用程序的最佳实践。这些简单的决策和包装的最佳实践有助于更早从 Flink 的采用中获得价值,从而让用户无需一次又一次地解决同类问题。因为包装了最佳实践,data Artisans Platform Application Manager 不仅适用于生产部署:它也适用于开始应用 Flink。
在其他项目做不到的地方,Flink 却取得了成功。
Flink 的流式处理有很多很好的生产应用场景。你可以从阿里巴巴、Netflix、Lyft、Uber、DriveTribe 等公司那里了解更多有关它们通过采用 Flink 来满足它们的业务对流式处理的需求。我注意到,在在采用 Flink 之前,总是先尝试一下其他的项目。
阿里巴巴在参考另一个项目的微批处理范式时,“第一种方法是使用批处理作为起点,然后尝试在批处理之上进行流式处理。但是,这可能无法满足他们对延迟的严格要求,因为模拟流的微批处理需要一些固定的开销——所以当你尝试减少延迟时,开销的比例会增加。
在 Flink Forward 演讲中,来自 Netflix 的 Shriya Arora 说道:“从历史上看,我们已经通过批量的方式连接了大量数据集。然而,我们会问自己,数据是否是实时生成的,为什么不能在下游进行实时处理?”
同样,在讨论他们基于 Flink 的平台 AthenaX 时,Uber 写道,他们在采用 Flink 之前尝试了 Apache Storm 和 Apache Samza,“然而,这些解决方案还不够理想。用户要么被迫实现、管理和监控他们自己的流式分析应用程序,要么只能为预先定义的一组问题获取答案。”
在我看来,乍一看,微批次处理、lambda 架构、辅助流式处理技术和替代流式处理项目等架构似乎都可以……直到有人从痛苦的经历中发现,低延迟处理和复杂分析无法通过廉价、可扩展和容错的方式来实现。
因此,我的建议是不要让自己在一开始就被困在错误的技术采用的痛苦中,而是尽早尝试使用 Flink 来解决你的流式处理问题。从 Flink 的采用模式来看,很多人走了弯路。
12 月 20-21,将于北京开幕,在这里可以学习来自 Google、微软、BAT、360、京东、美团等 40+AI 落地案例,与国内外一线技术大咖面对面交流。
Recommend
-
51
从批处理ETL到流式处理:一个来自Netflix的案例
-
29
大数据技术的广泛应用使其成为引领众多行业技术进步、促进效益增长的关键支撑技术。根据数据处理的时效性,大数据处理系统可分为批式(batch)大数据和流式(streaming)大数据两类。其中,批式大数据又被称为历史大数据,流式大数据又被称为...
-
60
-
20
什么是流式处理呢?这个问题其实我们大部分时候是没有考虑过的,大多数,我们是把流式处理和实时计算放在一起来说的。我们先来了解下,什么是数据流。数据流(事件流)数据流是无边界数据集的抽象
-
11
1. 概述 在本教程中,我们将介绍 Apache Beam 并探讨其基本概念。 我们将首先演示使用 Apache Beam 的用例和好处,然后介绍基本概念和术语。之后,我们将通过一个简单的例子来说明...
-
12
前言 最近公司让做一个'没有必要'的需求 需求针对的对象 这是同一个csv文件的不同展示形式 Excel展示形式
-
2
高效实现大数据流式处理大型API响应的注意事项 - simonwillison 过去,大多数 Web 工程师会很快否定 API 端点的想法,即流式输出无限数量的行,他们认为应...
-
8
解决Flink流式任务的性能瓶颈 发表于 2021-08-08...
-
5
Storm:最火的流式处理框架 浏览:5474次 出处信息 在2011年Storm开源之前,由于Hadoop的火红,整个业界都...
-
9
什么是流处理如果有 java 使用经验的同学一定会对 java8 的 Stream 赞不绝口,极大的提高了们对于集合类型数据的处理能力。int sum = widgets.stream() .filter(w -> w.getColor() == RED) .mapToInt(w ->...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK