翻译 | 邱从贤(山智)
摘要:近期 Cloudera Hadoop 大神 Arun 在 Twitter 上宣布 Cloudera Data Platform 正式集成了 Flink 作为其流计算产品,Apache Flink PMC Chair Stephan 也回应:“此举意义重大。”这意味着所有 CDH 发行版覆盖的全球企业用户都将能够使用 Flink 进行流数据处理。
本文对 Cloudera 官方宣布支持 Apache Flink 的博客进行了翻译,希望有助于大家更深入地了解 Flink 及 Cloudera DataFlow(CDF)。
(Arun 与 Stephan 的 Twitter 互动)
▼ 以下为 Cloudera 官方博客的原文翻译 ▼
我们再也无法抑制兴奋!在过去的几个月中,Cloudera 的动态数据工程团队一直在努力提供 Cloudera DataFlow(CDF)中引人注目的产品。Cloudera Streaming Analytics(CSA)的 GA 版提供了对 Apache Flink 的支持,从而增强了整个动态数据平台的流处理和分析能力。
由 Apache Flink 支持的 Cloudera Streaming Analytics 是 Cloudera DataFlow(CDF)平台内的一项新产品,可提供 IoT 级数据流和复杂事件的实时状态处理。Cloudera DataFlow(如下图所示)是一个全面的边缘计算到云实时流数据平台。作为 CDF 的关键支柱之一,流处理和分析对于处理来自各种数据源的数百万个数据点和复杂事件非常重要。多年来,我们已经支持了多个流引擎,但是 Flink 的加入使 CDF 成为了一个极具吸引力的平台,可以大规模处理大量流数据。
Cloudera Streaming Analytics 涵盖了 Apache Flink 的核心流功能:
- 在 YARN 上支持 Flink 1.9.1
- 支持在 Cloudera 托管集群上安装 Flink
- 支持完全安全(启用 TLS 和 Kerberos)的 Flink 集群
- 从 Kafka 或 HDFS 读取数据源
- 使用 Java DataStream 和 ProcessFunction API 的 pipeline 定义
- 恰好一次的语义
- 基于事件时间的语义
- 数据接收器写入 Kafka,HDFS 和 HBase
- 与 Cloudera Schema Registry 集成以进行模式管理以及流事件的序列化/反序列化
这些功能可实现复杂的端到端流传输 pipeline。我们计划在即将发布的 CSA 中提供更多激动人心的功能。
平台集成,可任意扩展 Flink
CSA 将在最近发布的 Cloudera 数据平台(CDP)中心提供服务。利用 CDP 的灵活性和管理选项,可以轻松地对 Flink 进行任意扩展。有了平台集成,Cloudera Manager 可以用于安装,监视和管理 Flink 集群。集中式日志搜索还可以聚合 Flink 应用程序日志,以便于管理和调试。
最重要的是,可以使用指标报告器将 Flink 应用程序指标发送到 Apache Kafka 中。CDF 平台上的指标可以通过 Streams Messaging Manager 将 Flink 的指标收集到 Kafka 中,并以可视化的形式对它们进行分析。
为什么选择 Flink?
Apache Flink 是一个分布式,可扩展的数据分析处理引擎,可以非常轻松地处理数百万级的数据或复杂事件,并提供实时预测功能;为数据流上的大规模计算提供通信,容错和数据分发;可以处理生成的实时数据以及存储在文件系统中的数据。
在过去的几年中,Apache Flink 在全球范围内被广泛应用:
- 电信网络监控:使用复杂的窗口逻辑,基于网络中的流数据,通过预先计算有关停机的响应和修复所需的 ETA 来处理客户投诉
- 内容推荐引擎:在用户加载网页时向其提供推荐和搜索结果的视频流服务,需要复杂的逻辑,同时每天要主动处理数十亿个事件
- 搜索优化:搜索引擎实时优化搜索排名
- 点击流分析:高流量电子商务网站基于实时点击流数据收集并提供最佳的客户体验
- 应用程序监视:大型企业评估了数千个可定制的警报规则,这些警报规则涉及指标和日志流并检测异常
- 欺诈检测:金融组织从各种来源的数百万实时财务数据流中检测欺诈模式
- 游戏分析:要了解游戏平台上数百万每日用户的状态并向业务团队提供分析,需要以极高的规模处理大量数据
尽管 Cloudera 提供了流处理引擎的几种选择:Storm,Spark Structured Streaming 和 Kafka Stream,但将 Flink 添加到 CDF 的意义十分重大。Storm 在市场和开源社区中逐渐失宠,用户正在寻找更好的选择。而 Apache Flink 则是这批用户的最佳选择。Kafka Streams 和 Spark Structured Streaming 则围绕他们自己的用户场景提供了相关的流处理和分析能力。但是,Apache Flink 天然支持流计算(而不是批处理),并且可以大规模处理大量数据流,提供方便的状态支持,恰好一次的语义,原生支持的容错/恢复能力,以及先进的 Window 语义。这使其成为更广泛的流处理引擎的默认选择。
在 2019 年 10 月于柏林举行的 Flink Forward 活动上,Cloudera 的工程主管 Marton Balassi 和 Field CTO Andrew Psaltis 在大会上宣布,Cloudera 承诺将通过 CSA 产品不断给 Apache Flink 社区做出贡献。
相信 Cloudera 对 Apache Flink 的集成将会为社区带来更多创新、为企业及开发者提供更便捷的操作与更友好的使用体验。点击「阅读原文」可查看原版博客~