flink 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
flink 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
flink 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 Apache-2.0 License
开发语言 Python
操作系统 跨平台
软件类型 开源软件
所属分类 数据库相关
开源组织
地区 不详
投 递 者 首席测试
适用人群 未知
收录时间 2021-12-02

软件简介

Apache Flink

Apache Flink is an open source stream processing framework with powerful stream- and batch-processing capabilities.

Learn more about Flink at https://flink.apache.org/

Features

  • A streaming-first runtime that supports both batch processing and data streaming programs

  • Elegant and fluent APIs in Java and Scala

  • A runtime that supports very high throughput and low event latency at the same time

  • Support for event time and out-of-order processing in the DataStream API, based on the Dataflow Model

  • Flexible windowing (time, count, sessions, custom triggers) across different time semantics (event time, processing time)

  • Fault-tolerance with exactly-once processing guarantees

  • Natural back-pressure in streaming programs

  • Libraries for Graph processing (batch), Machine Learning (batch), and Complex Event Processing (streaming)

  • Built-in support for iterative programs (BSP) in the DataSet (batch) API

  • Custom memory management for efficient and robust switching between in-memory and out-of-core data processing algorithms

  • Compatibility layers for Apache Hadoop MapReduce

  • Integration with YARN, HDFS, HBase, and other components of the Apache Hadoop ecosystem

Streaming Example

case class WordWithCount(word: String, count: Long)

val text = env.socketTextStream(host, port, '\n')

val windowCounts = text.flatMap { w => w.split("\\s") }
  .map { w => WordWithCount(w, 1) }
  .keyBy("word")
  .window(TumblingProcessingTimeWindow.of(Time.seconds(5)))
  .sum("count")

windowCounts.print()

Batch Example

case class WordWithCount(word: String, count: Long)

val text = env.readTextFile(path)

val counts = text.flatMap { w => w.split("\\s") }
  .map { w => WordWithCount(w, 1) }
  .groupBy("word")
  .sum("count")

counts.writeAsCsv(outputPath)

Building Apache Flink from Source

Prerequisites for building Flink:

  • Unix-like environment (we use Linux, Mac OS X, Cygwin, WSL)
  • Git
  • Maven (we recommend version 3.2.5 and require at least 3.1.1)
  • Java 8 or 11 (Java 9 or 10 may work)
git clone https://github.com/apache/flink.git
cd flink
mvn clean package -DskipTests # this will take up to 10 minutes

Flink is now installed in build-target.

NOTE: Maven 3.3.x can build Flink, but will not properly shade away certain dependencies. Maven 3.1.1 creates the libraries properly. To build unit tests with Java 8, use Java 8u51 or above to prevent failures in unit tests that use the PowerMock runner.

Developing Flink

The Flink committers use IntelliJ IDEA to develop the Flink codebase. We recommend IntelliJ IDEA for developing projects that involve Scala code.

Minimal requirements for an IDE are:

  • Support for Java and Scala (also mixed projects)
  • Support for Maven with Java and Scala

IntelliJ IDEA

The IntelliJ IDE supports Maven out of the box and offers a plugin for Scala development.

Check out our Setting up IntelliJ guide for details.

Eclipse Scala IDE

NOTE: From our experience, this setup does not work with Flink due to deficiencies of the old Eclipse version bundled with Scala IDE 3.0.3 or due to version incompatibilities with the bundled Scala version in Scala IDE 4.4.1.

We recommend to use IntelliJ instead (see above)

Support

Don’t hesitate to ask!

Contact the developers and community on the mailing lists if you need any help.

Open an issue if you found a bug in Flink.

Documentation

The documentation of Apache Flink is located on the website: https://flink.apache.org or in the docs/ directory of the source code.

Fork and Contribute

This is an active open-source project. We are always open to people who want to use the system or contribute to it. Contact us if you are looking for implementation tasks that fit your skills. This article describes how to contribute to Apache Flink.

About

Apache Flink is an open source project of The Apache Software Foundation (ASF). The Apache Flink project originated from the Stratosphere research project.

展开阅读全文

代码

评论

点击引领话题📣 发布并加入讨论🔥
暂无内容
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
Digital Bazaar Forge 数据伪造问题漏洞
密码学签名的验证不恰当
Digital Bazaar Forge是美国Digital Bazaar公司的一个 Tls 在 Javascript 中的本机实现以及用于编写基于加密和网络密集型 Web 应用程序的开源工具。 Forge 1.3.0 版本之前 RSA PKCS 存在数据伪造问题漏洞,该漏洞源于 RSA PKCS 签名验证码对摘要算法结构的检查较为宽松。攻击者可以通过精心设计的结构窃取填充字节并在使用低公共指数时使用 PKCS#1 编码消息的未检查部分来伪造签名。
CVE-2022-24771 MPS-2022-3738
2022-08-08 18:07
Netty 安全漏洞
Netty 是一个开源的、异步事件驱动的网络应用框架。版本 4.1.77.Final 之前的包 io.netty:netty-codec-http 包含对 CVE-2021-21290 的不充分修复。当使用 Netty 的多部分解码器时,如果启用了在磁盘上临时存储上传,则可以通过本地系统临时目录发生本地信息泄露。这只会影响在 Java 版本 6 及更低版本上运行的应用程序。此外,此漏洞会影响在类 Unix 系统以及非常旧版本的 Mac OSX 和 Windows 上运行的代码,因为它们都在所有用户之间共享系统临时目录。版本 4.1.77.Final 包含针对此漏洞的补丁。作为一种解决方法,在启动 JVM 时指定自己的 `java.io.tmpdir` 或使用 DefaultHttpDataFactory.setBaseDir(...) 将目录设置为只能由当前用户读取的目录。
CVE-2022-24823 MPS-2022-3790
2022-08-08 18:07
Apache Thrift 信任管理问题漏洞
证书验证不恰当
Apache Thrift是美国阿帕奇(Apache)基金会的一个用于跨平台开发的框架。 Apache Thrift Java client library 0.5.0版本至0.11.0版本中存在信任管理问题漏洞。攻击者可利用该漏洞绕过安全检测。
CVE-2018-1320 MPS-2019-0104
2022-08-08 18:07
Apache Ant 信息泄露漏洞
将资源暴露给错误范围
Apache Ant是美国阿帕奇(Apache)基金会的一套用于Java软件开发的自动化工具。该工具主要用于软件的编译、测试和部署等。 Apache Ant 1.1版本至1.9.14版本和1.10.0版本至1.10.7版本中存在信息泄露漏洞。攻击者可利用该漏洞泄漏敏感信息。
CVE-2020-1945 MPS-2020-7418
2022-08-08 18:07
io.grpc:grpc-core 内存信息暴露漏洞
通过发送数据的信息暴露
io.grpc:grpc-core 是一个基于 HTTP/2 的 RPC 框架 。 io.grpc:grpc-core在监听器抛出异常和执行器立即关闭同时发生的情况下会导致内存信息泄露,最终会泄漏错误日志,攻击者可能会利用漏洞获取堆栈信息。
MPS-2022-12216
2022-08-08 18:07
oracle communications pricing design center-12.0.0.5加锁机制不恰当漏洞
加锁机制不恰当
在 1.6.0 之前的 JetBrains Kotlin 中,无法锁定多平台 Gradle 项目的依赖项。
CVE-2022-24329 MPS-2022-3233
2022-08-08 18:07
Apache Zookeeper 授权问题漏洞
授权机制缺失
Apache Zookeeper是美国阿帕奇(Apache)软件基金会的一个软件项目,它能够为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册等功能。 Apache ZooKeeper 1.0.0版本至3.4.13版本和3.5.0-alpha版本至3.5.4-beta版本中存在授权问题漏洞。该漏洞源于网络系统或产品中缺少身份验证措施或身份验证强度不足。
CVE-2019-0201 MPS-2019-5668
2022-08-08 18:07
Elasticsearch 信息泄露漏洞
信息暴露
Elasticsearch是荷兰Elasticsearch公司的一套基于Lucene构建的开源分布式RESTful搜索引擎。该产品主要应用于云计算,并支持通过HTTP使用JSON进行数据索引。Security是其中的一个数据保护组件。 Elasticsearch 存在信息泄露漏洞,攻击者可利用该漏洞可以通过Elasticsearch最近更新的文档绕过对数据的访问限制,以获取敏感信息。
CVE-2021-22134 MPS-2021-2736
2022-08-08 18:07
Apache Hive 信息泄露漏洞
通过差异性导致的信息暴露
Apache Hive cookie 签名验证使用非恒定时间比较,已知该比较容易受到定时攻击。这可能允许恢复另一个用户的 cookie 签名。该问题已在 Apache Hive 2.3.8 中得到解决
CVE-2020-1926 MPS-2021-3109
2022-08-08 18:07
Elasticsearch 信息泄露漏洞
信息暴露
Elasticsearch是荷兰Elasticsearch公司的一套基于Lucene构建的开源分布式RESTful搜索引擎。该产品主要应用于云计算,并支持通过HTTP使用JSON进行数据索引。 Elasticsearch 存在信息泄露漏洞,攻击者可利用该漏洞通过Cross-cluster Search Queries绕过数据访问限制,以获取敏感信息。
CVE-2021-22137 MPS-2021-6747
2022-08-08 18:07
org.apache.hadoop:hadoop-hdfs 存在XXE漏洞
XXE
org.apache.hadoop:hadoop-hdfs 是一个框架,它允许使用简单的编程模型跨计算机集群对大型数据集进行分布式处理。由于通过 OfflineEditsXmlLoader.java 工具对 XML 文件的不安全解析,此包的受影响版本容易受到 XML 外部实体注入 (XXE) 的攻击。
MPS-2022-12474
2022-08-08 18:07
adm-zip 存在路径遍历漏洞
路径遍历
adm-zip 是用于 NodeJS 的 zip 数据压缩的 JavaScript 实现。此软件包的受影响版本容易受到目录遍历的影响。
MPS-2022-13529
2022-08-08 18:07
Jetty输入验证漏洞
密码学问题
Jetty是Eclipse基金会的一个自由和开源项目,是一个基于Java的Web服务器和Java Servlet容器。 Jetty在处理哈希表单张贴和更新哈希表单时,哈希生成函数中存在漏洞。攻击者可利用此漏洞通过在HTTP POST请求中发送特制的表单,造成哈希冲突,导致较高的CPU消耗。
CVE-2011-4461 MPS-2011-4130
2022-08-08 18:07
Eclipse Jetty 信息泄露漏洞
信息暴露
Eclipse Jetty是Eclipse基金会的一个开源的、基于Java的Web服务器和Java Servlet容器。 Eclipse Jetty 9.2.9.v20150224之前版本中的异常处理代码功能存在安全漏洞。远程攻击者可借助HTTP头中的非法字符利用该漏洞获取进程内存的敏感信息。
CVE-2015-2080 MPS-2016-5010
2022-08-08 18:07
Apache Hadoop授权问题漏洞
认证机制不恰当
Apache Hadoop是美国阿帕奇(Apache)软件基金会的一套开源的分布式系统基础架构。 Apache Hadoop存在授权问题漏洞,该漏洞源于启用Kerberos身份验证和禁用HTTP SPNEGO时Web接口中的漏洞造成的。攻击者可以利用漏洞访问servlet。
CVE-2018-11765 MPS-2020-13793
2022-08-08 18:07
Google protobuf 安全漏洞
不正确的行为次序
Google protobuf是美国谷歌(Google)公司的一种数据交换格式。 protobuf-java 存在安全漏洞,该漏洞允许一个小的恶意负载可以通过创建大量导致频繁、重复暂停的短期对象来占用解析器几分钟。
CVE-2021-22569 MPS-2021-19066
2022-08-08 18:07
kubernetes-client 不可信数据的反序列化漏洞
反序列化
io.fabric8:kubernetes-client是一个客户端提供对完整 Kubernetes 和 OpenShift REST API 的访问。 漏洞版本由于`unmarshalYaml`方法中的反序列化不安全,此软件包的受影响版本容易受到不受信任数据的反序列化,攻击者可利用该漏洞执行任意代码,甚至接管服务器。
CVE-2021-4178 MPS-2021-39740
2022-08-08 18:07
Apache Tomcat 安全特征问题漏洞
Apache Tomcat是美国阿帕奇(Apache)软件基金会下属的Jakarta项目的一款轻量级Web应用服务器,它主要用于开发和调试JSP程序,适用于中小型系统。 Apache Tomcat中的存在安全漏洞。攻击者可通过操作配置参数利用该漏洞绕过已配置的SecurityManager。以下版本受到影响:Apache Tomcat 9.0.0.M1版本至9.0.0.M9版本,8.5.0版本至8.5.4版本,8.0.0.RC1版本至8.0.36版本,7.0.0版本至7.0.70版本,6.0.0版本至6.0.45版本。
CVE-2016-6796 MPS-2017-9027
2022-08-08 18:07
Bouncy Castle JCE Provider 加密问题漏洞
密码学问题
Bouncy Castle JCE Provider是一款基于Java的加密包。 Bouncy Castle JCE Provider 1.55及之前版本中存在安全漏洞,该漏洞源于DHIES的实现允许使用不安全的ECB模式。
CVE-2016-1000344 MPS-2018-7042
2022-08-08 18:07
Eclipse Jetty 缓存中毒漏洞
HTTP请求的解释不一致性(HTTP请求私运)
Eclipse Jetty是Eclipse基金会的一个开源的、基于Java的Web服务器和Java Servlet容器。 Eclipse Jetty中存在安全漏洞,该漏洞源于程序未能正确的处理HTTP/0.9版本协议。攻击者可利用该漏洞造成缓存中毒。
CVE-2017-7656 MPS-2018-8346
2022-08-08 18:07
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
0 评论
0 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部