Apache Flink 是一个高效、分布式、基于 Java 实现的通用大数据分析引擎,它具有分布式 MapReduce 一类平台的高效性、灵活性和扩展性以及并行数据库查询优化方案,它支持批量和基于流的数据分析,且提供了基于 Java 和 Scala 的 API。从 Apache 官方博客中得知,Flink 已于近日升级成为Apache 基金会的顶级项目。Flink 项目的副总裁对此评论到:
Flink__ 能够成为基金会的顶级项目,自己感到非常高兴。自己认为社区的驱动将是 Flink 成长的最好保证。Flink 逐渐的成长以及众多新人加入该社区真是一件大好事。
从 Flink 官网得知,其具有如下主要特征:
1. 快速
Flink 利用基于内存的数据流并将迭代处理算法深度集成到了系统的运行时中,这就使得系统能够以极快的速度来处理数据密集型和迭代任务。
2. 可靠性和扩展性
当服务器内存被耗尽时,Flink 也能够很好的运行,这是因为 Flink 包含自己的内存管理组件、序列化框架和类型推理引擎。
3. 表现力
利用 Java 或者 Scala 语言能够编写出漂亮、类型安全和可为核心的代码,并能够在集群上运行所写程序。开发者可以在无需额外处理就使用 Java 和 Scala 数据类型
4. 易用性
在无需进行任何配置的情况下,Flink 内置的优化器就能够以最高效的方式在各种环境中执行程序。此外,Flink 只需要三个命令就可以运行在 Hadoop 的新 MapReduce 框架 Yarn 上,
5. 完全兼容 Hadoop
Flink 支持所有的 Hadoop 所有的输入 / 输出格式和数据类型,这就使得开发者无需做任何修改就能够利用 Flink 运行历史遗留的 MapReduce 操作
Flink 主要包括基于 Java 和 Scala 的用于批量和基于流数据分析的 API、优化器和具有自定义内存管理功能的分布式运行时等,其主要架构如下:
更多关于 Flink 的相关信息,请读者登录其托管在 GitHub 的主页和其官网查看。另外,开源的大数据分析平台除了 Flink 外,还包括 Apache 推出 Google Dremel 的开源版本 Apache Drill (2014 年 12 月份升级成为 Apache 基金会的顶级项目)、来自 NSA(美国国家安全局) Apache Nifi (2014 年 12 月份贡献给 Apache 基金会)、来自 Cloudera 公司开发的实时分析系统 Impala (受 Google Dremel 启发)、加州伯克利大学 AMPLab 开发的大数据分析系统 Shark 、Facebook 开源的分布式 SQL 查询引擎 Presto 、 Hortonworks 开源的实时且类 SQL 的即时查询系统 Stinger 等等。
感谢郭蕾对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。
评论