问题标签 [flink-streaming]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - kafka -> flink - 性能问题
我正在查看一些每秒生成约 30K 消息的 kafka 主题。我有一个 flink 拓扑设置来读取其中一个,聚合一点(5 秒窗口),然后(最终)写入数据库。
当我运行拓扑并删除除读取 - > 聚合步骤之外的所有内容时,我每分钟只能获得约 30K 消息。没有任何地方可以发生背压。
我究竟做错了什么?
编辑:
- 我无法更改有关主题空间的任何内容。每个主题都有一个分区,并且有数百个。
- 每条消息都是一个压缩的 thrift 对象,平均大小为 2-3Kb
看来我只能获得〜1.5 MB / s。不接近提到的 100MB/s。
当前代码路径:
scala - apache flink:如何解释 DataStream.print 输出?
我是 Flink 的新手,试图了解如何最有效地使用它。
我正在尝试使用 Window API,从 CSV 文件中读取。读取的行被转换为一个案例类,因此
而且,这就是我读取行的方式:
后来,使用一个简单的窗口,我试图打印最高环境温度,因此:
输出包含这些(来自一堆 DEBUG 日志语句):
我想了解的是,人们如何解释这一点?重复的 1>s代表什么?
让我感到困惑的是,probe-987f2cb6与我的数据集中的环境温度29.43不对应。它对应于不同的值(准确地说是 14.72)。
仅供参考,以下是数据集:
我可能缺少很多东西。请刺激我。
忘了提:我使用的是Flink 0.10.0。
java - Flink - 结构化作业以最大化吞吐量
我有 4 种类型的 kafka 主题和每种类型的 65 个主题。目标是对数据进行一些简单的窗口聚合并将其写入数据库。
拓扑将类似于:
kafka -> 窗口 -> 减少 -> 数据库写入
在这个组合中的某个地方,我想要/需要做一个联合- 或者可能是几个(取决于每次组合多少主题)。
主题中的数据流范围从 10K 到 >200K 消息/分钟。
我有一个具有 30 个核心/节点的四节点 flink 集群。如何构建这些拓扑来分散负载?
apache-flink - kafka 源流上的事件时间窗口
Kafka服务器中有一个主题。在程序中,我们将此主题作为流读取并分配事件时间戳。然后对这个流做窗口操作。但该程序不起作用。调试后,似乎没有执行WindowOperator的processWatermark方法。这是我的代码。
为什么会这样?如果我在“assignTimestamps(timestampExtractor)”之前添加“keyBy(keySelector)”,那么程序就可以工作。任何人都可以帮助解释原因吗?
apache-flink - Flink 流式事件时间窗口排序
我在理解围绕事件时间窗口的语义时遇到了一些麻烦。以下程序生成一些带有时间戳的元组,这些时间戳用作事件时间并进行简单的窗口聚合。我希望输出与输入的顺序相同,但输出的顺序不同。为什么输出相对于事件时间无序?
输入:
结果:
apache-flink - Flink:如何使用命令行界面取消正确的作业?
我有一个运行多个流作业的 Flink 服务器。这些作业是使用flink run
命令启动的,并且基本上会一直运行,直到您停止它们为止。现在我想取消一个特定的工作。当我这样做时flink list
,我会得到这样的东西:
使用此输出无法取消正确的作业,因为无法识别哪个作业是哪个作业。所有的工作都只是以Flink Streaming Job作为他们的名字,所以我不知道该选哪个。
有没有办法更改出现的工作名称flink list
?如果没有,有没有办法通过命令行获取有关正在运行的作业的附加信息(例如,它是从哪个 JAR 文件开始的,它的主类是什么等)。如果没有,有没有办法从 中获取 Job-ID flink run
,所以我可以将它存储在某种 PID 文件中,然后使用该 ID 来取消 Job?
twitter - Flink 流式 Twitter 示例不起作用
我正在尝试运行官方示例,该示例展示了如何将 Apache Flink Streaming 与 Twitter 一起使用: https ://github.com/apache/flink/tree/master/flink-streaming-examples/src/main/java/org/apache /flink/流/示例/推特
如果我不提供 properties.file 的路径,将使用 TwitterStreamData.java。有了“看起来像推文的数据”就可以了。但是,如果我想接收真正的推文(提供正确的属性文件),执行将停止并等待(不抛出异常)。
代码调试后我找到了执行停止并等待的地方:
程序运行直到行
并等待。
属性文件没问题,因为我在另一个示例中使用了它(没有 apache flink 的推文流式传输)并且有效。
apache-kafka - FlinkKafkaConsumer082 auto.offset.reset 设置不起作用?
我有一个 Flink 流程序,它从 Kafka 的主题中读取数据。在程序中,auto.offset.reset 设置为“最小”。在 IDE/Intellij-IDEA 中测试时,程序总是可以从主题的开头读取数据。然后我建立了一个 flink/kafka 集群并将一些数据生成到 kafka 主题中。我第一次运行流作业时,它可以从主题的开头读取数据。但是在那之后我停止了流式作业并再次运行它,它不会从主题的开头读取数据。我怎样才能让程序总是从主题的开头读取数据?
apache-flink - 如何在 Flink 流中的空窗口上执行功能?
我编写了一个 Flink 程序,它从一个简单的 kafka 流计算每个键控窗口的事件数。我工作得很好,快速而准确。当源停止时,我想0
在每个窗口上都有计算结果,但没有发送结果。该功能只是不执行。我认为这是因为 Flink 的惰性操作行为。
有什么推荐吗?
apache-flink - 在 Apache Flink 中创建 DataStream 时出错
使用fromElements函数创建DataStream时出错
下面是expeption -
原因:java.io.IOException:无法从源中反序列化元素。如果您使用的是用户定义的序列化(Value 和 Writable 类型),请检查序列化函数。序列化器是 org.apache.flink.streaming.api.functions.source.FromElementsFunction.run(FromElementsFunction.java:121) 的 org.apache.flink.api.java.typeutils.runtime.kryo.KryoSerializer@599fcdda .flink.streaming.api.operators.StreamSource.run(StreamSource.java:58) 在 org.apache.flink.streaming.runtime.tasks.SourceStreamTask.run(SourceStreamTask.java:55) 在 org.apache.flink.streaming .runtime.tasks.StreamTask.invoke(StreamTask.java:218) at org.apache.flink.runtime.taskmanager.Task.run(Task.java:584) at java.lang.Thread.run(Thread.java:745 )