问题标签 [stream-processing]

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.

0 投票
1 回答
347 浏览

stream-processing - 如何重新启动 Apache Apex 应用程序?

apex 文档中可以清楚地看出,使用 apache apex 启动的应用程序可以分别使用以下命令被杀死或关闭:kill-app& shutdown-app

但是,当应用程序关闭(关闭/杀死)时,如何从以前的状态重新启动它?

0 投票
1 回答
389 浏览

java - 如何根据状态变化事件以分布式方式统计有多少个“客户端”处于一个带有 flink 的状态?我需要有状态的对象

我正在使用 kafka -> flink -> 弹性搜索在 java 中处理 poc 项目。

在 kafka 上,将产生不可预测的事件数量,从 0 到每秒数千个事件,例如特定主题。

Flink 将消耗这些事件,并且应该每秒沉入弹性搜索每个状态下的事件数量,例如:

我有 10 个状态:[Created, ... , Deleted]平均生命周期为 15 分钟。状态可以每秒更改两次。理论上可以添加新的状态。

为了每秒接收流,我正在考虑使用 flink 的时间窗口https://flink.apache.org/news/2015/12/04/Introducing-windows.html

问题是我需要有状态的对象,其中包含关于guid->previous-statestateX->count的信息,以便能够在新事件发生时增加/减少计数。

我找到了一份关于有状态蒸汽处理的文档草案https://cwiki.apache.org/confluence/display/FLINK/Stateful+Stream+Processing

我是 flink 和流处理的新手,我还没有深入研究 flink 有状态流处理。对于第一阶段,我正在考虑为此使用静态对象,但是当启动多个 flink 实例时,这种方法将不起作用。

我要问你:

  1. 您如何看待这种方法?
  2. flink 适合这种流处理吗?
  3. 解决这个问题的方法是什么?

我也很欣赏窗口状态流解决方案(或其他解决方案)的一些代码片段。

谢谢,

0 投票
2 回答
569 浏览

apache-spark - 在火花流中移植现有的 php 应用程序

我们在 php 中有一个巨大的现有应用程序

  1. 接受一个日志文件
  2. 初始化所有数据库,内存存储资源
  3. 处理每一行
  4. 创建一组输出文件

每个输入文件都会发生上述过程。输入文件由 kafka 消费者编写。是否可以通过某种方式不将所有代码移植到 java 中来将此应用程序适合 spark 流?例如以以下方式

  1. 从 kafka 主题中获取消息
  2. 传递此消息以触发流式传输
  3. Spark 流以某种方式与旧版应用程序交互并生成输出
  4. spark然后在kafka中再次写入输出

我刚才讲的都太高级了。我只想知道是否有可能通过不在java中重新编码现有应用程序来做到这一点?谁能大致告诉我如何做到这一点?

0 投票
1 回答
3067 浏览

java - 事件处理框架推荐

我是事件处理领域的新手。我正在寻找一个基于 Java 的事件处理框架来满足我的要求。我经历了无数框架的文档和教程迷宫——Apache Storm、Apache Kafka 以及 RabbitMQ 等传统事件代理。我一点也不聪明。

我的要求如下。我有一个推送给我的事件源(例如使用情况跟踪)。我想和他们一起做以下事情:

  1. 分桶(例如按客户将它们分成不同的桶)
  2. 将所有分桶事件作为批次插入数据库。
  3. 执行某种负载平衡/事件优先级,例如,不希望低优先级的客户提出巨大的要求。一些事件使高优先级客户饿死的事件。

我不太关心事件排序,但我想确保这些系统的高可用性

寻找一些建议开始。技术基础没有吧,但是基于Java的东西。

0 投票
1 回答
170 浏览

java - 调试 apache heron 调度程序

Twitter 声称,与 apachestorm 相比,apache heron 的最大优势之一debug-ability是通过将每个 spout/bolt 任务移动到一个 Heron 实例(一个 JVM 进程)而不是将多个任务捆绑到一个 JMV 来实现(storm 过去是如何做的)它)。

这种方法确实有助于调试拓扑。但我的问题是,如何尝试调试 heron 的核心部分,如调度程序或资源管理部分。除了记录/打印输出之外,还有其他方法吗?因为这是一个真正耗费时间和精力的过程。有没有办法使用像 IDE(例如 IntelliJ)这样的工具来设置一些检查点并调试 heron 中调度任务的整个过程?

提前致谢。

0 投票
1 回答
414 浏览

apache-storm - 数据分析——流处理(Storm)和复杂事件处理

我正在做一些关于流处理与复杂事件处理相结合的研究。我想使用开源软件来处理 Apache 的 Storm。我找到了像 Esper、Siddhi、Sase+ 这样的 CEP 引擎,但我正在寻找专门在 Apache 上工作的东西-Storm。是否有任何 CEP 引擎可以在 Storm 上完美调整,如果有,引擎的内部架构是什么(例如在 1 个螺栓或其他东西中工作)。欢迎提供任何信息。

0 投票
3 回答
8093 浏览

apache-spark - 在实践中(不是理论)小批量与实时流有什么区别?

在实践中(不是理论)小批量与实时流有什么区别?从理论上讲,我理解小批量是在给定的时间范围内进行批处理的东西,而实时流更像是在数据到达时做一些事情,但我最大的问题是为什么没有具有 epsilon 时间范围(比如一毫秒)的小批量,或者我想了解为什么一个比另一个更有效的解决方案?

我最近遇到了一个例子,其中小批量(Apache Spark)用于欺诈检测和实时流(Apache Flink)用于欺诈预防。有人还评论说小批量不是预防欺诈的有效解决方案(因为目标是防止交易发生)现在我想知道为什么小批量(Spark)不会那么有效?为什么以 1 毫秒的延迟运行 mini-batch 无效?批处理是一种无处不在的技术,包括操作系统和内核 TCP/IP 堆栈,其中磁盘或网络的数据确实被缓冲了,那么这里有什么令人信服的因素说一个比另一个更有效?

0 投票
1 回答
568 浏览

apache-flink - Flink - 构建算子图

大家早上好,

我已经使用 Apache Storm 构建拓扑,我发现它们公开的 API 的一个好处是可以“手动”连接图形拓扑中的运算符。
例如,您可以创建循环。

我想知道是否有最佳实践可以在 Flink 中实现相同的“表现力”。

非常感谢!

0 投票
2 回答
166 浏览

apache-storm - 苍鹭拓扑在停用后继续运行

我目前正在研究 Heron 和 Apache Storm 进行一些资源管理和调度研究。

我注意到在向 Heron 提交拓扑后,它们开始运行并占用资源,但在停用它们后,它们似乎仍在后台运行并占用 100% 的 CPU 和 RAM!我错过了什么吗?我理解它的方式并基于苍鹭文档,停用拓扑应该停止它们并阻止它们处理新的元组,

停用拓扑。停用后,拓扑将停止处理,但仍会在集群中运行。

但是当我在停用后检查 heron-ui 时,它仍在处理新的元组,因为发射计数不断变化!但是当我杀死他们时,一切都会恢复正常!正常吗?如果没有,有什么问题?

0 投票
1 回答
1656 浏览

apache-flink - 在 Flink 中的算子之间共享状态

我想知道在 Flink 中是否可以在运营商之间共享状态。

例如,假设我在一个运算符上按键进行分区,并且我需要分A区内的一个分区状态C(出于任何原因)(图 1.a),或者我需要C下游运算符中的运算符状态F(图 1 .b)。

在此处输入图像描述

我知道可以broadcast记录到所有分区。因此,如果您在记录中包含操作员的内部状态,您可以与下游操作员共享您的内部状态。
但是,这可能是一项昂贵的操作,而不是简单地让op1专门询问op2状态。

可查询状态的最新发展是否正在朝着这个概念发展,或者它们只是为了让外部用户查询拓扑的内部状态?

提前感谢您的见解