问题标签 [aggregator]

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 投票
2 回答
504 浏览

sorting - informatica 中聚合器的输出是否始终排序?

Informatica 中的聚合器组件的输出是否总是按指定的组排序,即使输入排序框没有被勾选,并且组件自己进行分组?还是没有保证?

0 投票
2 回答
966 浏览

stream - 仅聚合具有相同关联键的连续交换

我正在使用 Apache Camel 并获取一个大文件作为输入,我必须逐行处理。内容已经排序,我必须聚合所有具有相同关联键的连续行。如果关联键发生变化,则必须完成先前的聚合。如果文件结束,则最后一个聚合也已完成。我有一些限制: - 因为传入的文件相当大,我们希望以流方式处理它。- 因为将结果提供给同步端点,所以我不想使用超时完成谓词。否则我将失去调节数据源消耗速度的背压,并且交换将累积在 AggregateProcessor 的超时映射和聚合存储库中。

PreCompletionAwareAggregationStrategy 看起来是一个很有前途的解决方案,但事实证明,在下一个文件到达之前,最后一个聚合不会完成。如果我在 preComplete 中使用 CamelSplitComplete 属性,则最后一个聚合完成但没有最后一个传入交换。相反,这最后一个交换将被添加到下一个到达的文件的内容中。

所以目前我很迷失找到一个不太难看的解决方案。

0 投票
0 回答
503 浏览

java - Spring Integration Aggregator 生成重复消息

我有一个弹簧集成流程定义如下的项目:

它的作用是验证每条消息并分配正确的目标标头,然后将结果分组聚合并将其发送到路由器以分派到正确的通道

我有一个检查流的服务,以便在它启动时记录将发送多少消息,并且在 2 个目标通道之后,我有 2 个句柄告诉服务已处理 X 大小的捆绑包,

下面是我得到的日志样本

正如您所看到的,在处理完所有消息后,在 ExpireGroup 日志告诉我创建了另一个包之后,我仍然会记录一个警告。

我尝试将日志放在聚合器之前,但那里没有出现重复的消息,谁能帮我配置聚合器,这样我就不会得到重复的消息?

ps:如果有帮助的话,我是如何实例化捆绑发布策略的

0 投票
1 回答
202 浏览

elasticsearch - 使用 Elastic Search API 聚合过滤结果

我想根据我的过滤规则汇总和计算出现的文档数量。

我从他们的网站上查看了 API:https ://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-filters-aggregation.html

并提出了这个:

“syslog_msg”可以包含诸如“my-domain.com 一些其他值”之类的信息。

我得到的回应:

看起来工作正常,但是当我运行查询以查看 12000 条记录时,其中一些与我搜索的字符串(在本例中为 my-domain.com)不完全匹配。

例如,某些文档在 syslog_msg 中有字符串“my”而不是“my-domain.com”。

如何更改查询以过滤我正在查找的字符串的完全匹配?


解决方案是将 match 替换为 match_phrase ,它将搜索并返回找到的确切短语

0 投票
1 回答
623 浏览

spring - spring-integration 聚合来自出站网关的响应

我希望结合来自两个 Web 服务调用的响应。聚合将基于响应中的键值进行。

ws1,ws2(来自 ws1 和 ws2 的响应被传递给聚合器)--->聚合器--->响应。我返回以下代码。聚合器没有被调用,不确定我错过了什么。

0 投票
1 回答
1885 浏览

aggregation - FluentD 聚合器 - 何时使用?

我们正在考虑使用 FluentD 将 Blue Coat 日志事件从代理和 dhcp 服务器发送到弹性服务器。关键要求之一是尽快标记异常值和异常。

对于这样的要求,使用 FluentD Aggregator 从几个(可能数百个)FluentD 收集器代理中接收事件是否有意义?或者,让 FluentD 代理将事件发送到写入 Elastic 的 Kafka 集群是否更好?

如果我能获得一些关于何时使用 FluentD Aggregator 的指南,那将非常有帮助。

谢谢, 沙罗德

0 投票
1 回答
602 浏览

spring - 不允许空关联。也许 CorrelationStrategy 失败了?

我正在使用spring集成,并且我正在使用默认的关联策略,也就是说我没有明确地为关联策略编写代码,在拆分器之前一切正常,在拆分器之后有一个服务激活器进行一些处理然后放置消息进入聚合器必须从中选择它的通道,但聚合器不选择它,所以我放置了一个拦截器以找出发生了什么,并发现在将消息放入聚合器通道之前,聚合相关的标头,如相关性id 等存在,但是一旦将其放入频道,标题就会丢失。现在我不确定为什么聚合器或之前的频道会丢失标题。任何帮助将不胜感激。

更新:-我使用一个spliier然后是激活器,然后是另一个拆分器,然后是一个激活器,然后是一个聚合器,然后是另一个聚合器......下面的代码用于内部拆分器和聚合器组合

0 投票
1 回答
2591 浏览

xml - Apache Camel:构建 XML 解析批处理的正确方法?

我正在尝试编写骆驼批处理:

  • 处理特定目录中的所有文件以及每个文件:
  • 使用 XSD 架构验证 XML
  • 解组不同的零件和过程数据
  • 不要停止异常
  • 如果发生至少一个错误,则移至最后失败的目录,否则移至完成

我遇到的困难:

  • 文件组件允许在完成/失败目录上自动移动文件,但是一旦您使用拆分/聚合器,文件总是移动到完成,甚至不等待聚合完成。
  • 管理异常并不直观
  • 拆分和聚合器是噩梦,文档中没有足够的“真实世界”示例
  • 复杂结构上的 XML 标记化使我们无法理解

当然,我遇到这些问题是因为我是 Apache Camel 的新手 :)

我想做的事情的想法:

  1. 文件组件(好的)
  2. XSD 验证(好的,如果错误,文件组件移动到失败)
  3. 进行多次拆分/多播以读取 XML,当发生错误时,我们忽略异常,保持标头错误,然后继续(不太好,我可以读取但无法正确聚合)
  4. 我们聚合(实际上没有什么可聚合的,我们只想检查所有标题)
  5. 如果出错,我们明确地移动到失败的目录

此示例的简化 XML:

您将如何使用这样的 XML 构造批处理? 此外,假设您必须先阅读“库”(并使用管道)。另外,在标题(布尔)中保存错误的想法好吗?

注意:特别感谢克劳斯·易卜生(Claus Ibsen)回复了许多关于 SO 的 Camel 帖子,但也请尽量不要只提供 Apache Camel 文档上的简单链接 :) 真的,对于新手来说,Apache Camel 文档 sux。

谢谢

0 投票
1 回答
939 浏览

java - Apache Camel:文件到 BeanIO 并基于 id 合并 beanIO 对象

我有一个用例来并行读取员工、地址和联系文件并将其转换为 beanIO 对象并合并 beanIO 对象以生成完整的employeeDetails 对象。

企业档案:

Emp 联系文件:

Emp 地址文件:

Exchange 中 EmployeeDetailsBeanIODataFormat 对象的预期输出:

我有以下路线

每个文件都转换为 beanio 对象

输出正确记录了 bean 对象。

现在我需要合并对象以形成 EmployeeDetails 对象。有人可以让我知道该怎么做吗?我读过,似乎聚合器可以用来做这项工作,但不确定这种方法。

任何有关此示例的想法都会有所帮助。欢迎提出建议,是否建议先根据员工 ID 合并文件并从中创建一个对象?在这种情况下,我不想将合并的文件写入磁盘,因为 IO 会降低性能。

提前致谢。

0 投票
1 回答
1444 浏览

java - Apache Camel:GroupedExchangeAggregationStrategy 组 DefaultExchange 而不是消息正文

继续另一个线程, Apache Camel:文件到 BeanIO 并基于 id 合并 beanIO 对象

尝试使用 GroupedExchangeAggregationStrategy 对 EmployeeDetails 进行分组,如下所示

EmployeeDetailsBeanProcessor:

我的理解是当使用 GroupExchangedAggregationStrategy 时,当前的 Exchange 将被添加到列表中,但是在测试时它添加了 DefaultExchange 而不是当前的 Exchange 和 EmployeeDetails。

你能给出一些关于对交易所进行分组的例子或指导吗?提前致谢。