网站建设 提成多少,宣城网站seo,wordpress更好后台登录logo,海口网站开发公司电话导读#xff1a;笔者从 2008 年开始工作到现在也有 11 个年头了#xff0c;一路走来都在和数据打交道#xff0c;做过很多大数据底层框架内核的开发 ( Hadoop#xff0c;Pig#xff0c;Tez#xff0c;Spark#xff0c;Livy )#xff0c;现在是多个 Apache 项目的 PMC。…导读笔者从 2008 年开始工作到现在也有 11 个年头了一路走来都在和数据打交道做过很多大数据底层框架内核的开发 ( HadoopPigTezSparkLivy )现在是多个 Apache 项目的 PMC。
相信大家都看过不少 Flink 的文章了今天我想借此机会来聊聊一个朴实的问题为什么我们要学习 Flink也即如何理性看待一项新技术是否值得跟风学习。
那么是因为一项技术火你才学的吗是因为你老板决定用这项技术你才学的吗那你有没有想过为什么这项技术会火为什么你老板决定用这项技术。今天我们就以 Flink 为例来好好聊为什么要学习 Flink以及如何看待一项新技术是否有潜力希望对你有所启发。
▌Flink大数据 AI 全栈的核心
大部分人对 Flink 的第一印象是大数据引擎但我想说 Flink 不只是 Big DataFlink 的目标是星辰大海。 我们首先来看下这张大数据场景图。这张图基本上把你日常需要处理的大数据场景都包括进来。从最左边的数据生产者到数据收集数据处理然后再到数据应用 ( BI AI )。你会发现 Flink 可以应用在每一个步骤。不仅涉及到大数据也涉及到 AI所以说学习 Flink 等于学到了大数据 AI 全栈。
Flink 会上接 IOT下接 AI打通端到端的数据价值挖掘全链路。
Flink 的上游数据规模会继续增长特别是由于 IOT 技术的发展和成熟以及未来 5G 技术的铺开。在可预测的未来数据规模仍将继续快速增长。Flink 丰富的 connector 生态可以让 Flink 对接几乎所有的数据源。
Flink 的下游数据产业还有很多发展的空间。BI 技术已经非常成熟但是近年来对实时 BI 的需求越来越强烈Flink 在实时 BI 的场景有非常强的用武之地。另外是 AI 技术的快速发展会带动大数据引擎的发展。Flink 自身也在发展 Machine Learning 相关的技术去年刚开源的 Alink [1] 就是基于 Flink 的机器学习 libraryAlink 可以让没有机器学习理论知识和工程经验的普通软件工程师也可以方便的使用机器学习技术。
▌批流融合大势所趋 Flink 引以为傲的是它的超强流计算能力。不过 Streaming Processing 只是 Flink 的看家本领并不是他的全部Flink 真正厉害的地方是它的批流统一。
我们还是可以拿上面那张图来解释。你可以看到每个阶段都可以用批流2种方式来解决。我们可以用 Flink 来解决批处理方式的数据收集任务也可以用流处理的方式来解决已达到更快的实时性。数据处理也是一样我们可以用 Streaming ETL也可以做 Batch ETL。到数据应用这层也是我们不仅可以用批处理来制作日常的 dashboard也可以用流计算来做实时 dashboard。在 AI 这块我们不仅可以用批处理的方式基于历史数据做模型训练也可以用流处理的方式做在线学习实时更新模型。总之你会发现 Flink 的批流融合完美契合了整个大数据端到端的应用。
▌多语言支持拥抱 AI 社区 用过 Flink 的人一般都知道 Flink 有 Java 和 Scala API很多人都知道那个经典的 WordCount 例子。Java 和 Scala API 对于一般的软件工程师来说是很友好的编程语言工具但是对于其他领域的人来说 ( 比如数据分析师数据科学家 )Java 和 Scala 就不是一种很友好的语言。为了能够吸引这些人来使用 FlinkFlink 推出了 SQL 和 Python 两种语言的API进一步降低 Flink 的使用门槛。数据库技术发展这么多年每隔几年都有新的技术创新唯独 SQL 成为亘古不变的数据库系统入口语言。SQL 是一个生命力非常强盛的语言围绕 SQL 语言有非常强大的生态圈大部分 BI 工具数据分析软件都可以对接 SQL。由于 AI 的流行Python 语言最近的增长势头也非常强势用户量与日俱增可以说是 AI 领域的第一语言。PyFlink 的推出拉通了 Flink 社区和 Python 社区使得数据科学家以较低的学习成本来利用 Flink 的计算能力。
▌不仅仅是一个 Library更是一个 Platform
Flink 作为一个 Apache 项目我们可以认为它是一个 Library用户可以基于这个 Library 开发各种程序。但是作为 Library 只是我们对 Flink 的一个狭隘的理解更确切的理解应该是一个 Platform。用户可以基于这个 Platform 进行功能扩展对接外部系统从而建立一个更完善的解决方案。比如 Zeppelin notebook [3] 集成了 Flink用户可以在 Zeppelin 上编写 Flink SQLUDF运行 Flink Job ( Batch Streaming )而且还可以可视化数据中小企业完全可以用 Zeppelin 来搭建大数据平台。Ververica Platform 是一个企业级的多租户 Flink Job 管控平台你可以在上面方便的提交管理 Flink Job而且 Ververica Platform 很容易对接各种云平台可以与你现有的基于云平台的应用系统完美无缝对接。 ▌不只是 China
众所周知阿里巴巴持续重磅投入 Flink使得 Flink 在国内的发展非常迅速去年 Flink Forward 大会亚洲场在北京召开吸引了2000人次参会。但可能很多人不知道 Flink 在国外也发展的非常迅猛。Flink 大会也有欧洲场美洲场。Flink Forward 已经成为为数不多的能在三大洲召开的技术大会大数据领域除了 Flink恐怕就只有 Spark 和 Kafka 了。 ▌全面拥抱云计算
刚开始 Flink 是为数据中心环境准备的用户需要自己搭建集群环境比如 StandaloneYarn 或者 Mesos这对用户的运维能力提出了非常大的挑战每一次扩缩容版本升级都是一件很头疼的事情。而现在 Flink 已经全面拥抱云环境对 K8s 的支持日趋完善不久的将来我们可以期待云原生的 Flink 应用会越来越多。同时这也对开发人员对云技术提出了新的要求只有掌握云技术才能更好的发挥 Flink 的能力。 之所以要将 Flink 放在 Kubernetes 之上是因为这样做有以下几点优势
第一Kubernetes 能够在多租户场景下为 Flink 带来更好的体验。第二目前各大公司都在逐步采用 Kubernetes 做 IT 设施的管理如果 Flink 能够运行在 Kubernetes 之上对于用户而言就能够实现更大规模的资源共享和统一管理降低成本的同时能够提高效率。第三Kubernetes 云原生生态发展非常迅速如果 Flink 能够与 Kubernetes 生态实现很好的整合就能够让 Flink 享受到 Kubernetes 生态的技术红利使得 Flink 能够在生产环境下提供运维保障。
▌不只是现在
—— 学习 Flink 对你职业生涯的帮助
最后我想说下决定学习某项技术可能不仅仅是个技术问题更现实的是它可能会是个影响你职业生涯的问题。
由于 Flink 技术的发展企业对 Flink 相关技术人员的需求也在与日俱增。根据去年参加 Flink Froward Asia 的情况下来看 国内几乎所有的一、二线互联网公司都已经采用了 Flink我们可以预期其他互联网公司以及一些非互联网公司在未来几年肯定会陆续采用 FlinkFlink 相关的人才在未来几年应该会成为众多公司哄抢的对象。下面例举了使用了 Flink 的国内外的一些代表性公司。 学习 Flink 也并不仅仅为了现在而是为了将来的技术积累和储备。如上所述Flink 不仅在流计算这块有坚实的基础也在其他领域发力也在拥抱面向未来的技术 ( 特别是 AI 和云计算 )所以学习 Flink 不仅仅是现在也是在为未来做准备。
还有一点我想说的是学习 Flink 并不只是学习 Flink 本身你还可以扩宽眼界学习到其他的技术交到很多志同道合的朋友。由于 Flink 本身的生态系统的强大你可以学习到其他领域的知识比如 IOT云原生AI 等等。此外 Flink 社区蓬勃发展在国内已经积蓄了大量的学习资料和人才Flink 的钉钉群人数已经超过了1万5千人百度指数上的 flink 指数已经超过了 spark。在 Flink 社区你可以从别人身上学习到很多有优秀的东西我相信你在 Flink 社区会有多意想不到的惊喜。 综上所述是笔者对为什么学习 Flink 的分析。新兴技术的涌现昼夜不停本文的初衷是不希望大家盲目的学习一项技术更希望大家在未来的日子里多思考多收获。本次的分享就到这里谢谢大家。
▌References
[1] https://github.com/alibaba/Alink/ [2] https://github.com/ververica/stateful-functions [3] http://zeppelin.apache.org/
作者介绍
章剑锋 ( 简锋 )开源界老兵Github IDzjffduApache Member曾就职于 Hortonworks目前在阿里巴巴计算平台事业部任高级技术专家并同时担任 Apache Tez、Livy 、Zeppelin 三个开源项目的 PMC 以及 Apache Pig 的 Committer。有幸很早就接触了大数据和开源希望可以在开源领域为大数据和数据科学做点贡献。
原文链接 本文为云栖社区原创内容未经允许不得转载。