当前位置: 首页 > 知识库问答 >
问题:

Hazelcast射流内部优化

张献
2023-03-14
BatchStage<Trade> trades = p.drawFrom(list("trades"));
BatchStage<Entry<Integer, Broker>> brokers =    
p.drawFrom(list("brokers"));
BatchStage<Tuple2<Trade, Broker>> joined = trades.hashJoin(brokers,
    joinMapEntries(Trade::brokerId),
    Tuple2::tuple2);
joined.drainTo(Sinks.logger());
private Pipeline createPipeLine() {
    Pipeline p = Pipeline.create();
    BatchStage stage = p.drawFrom(Sources.<Date>list("master"));
    stage.drainTo(Sinks.logger());
    return p;
}

提前致谢

共有1个答案

夏侯彬郁
2023-03-14

>

  • 来自Hashjoin的Javadoc:

    在实现上,对哈希连接转换进行了吞吐量优化,以便每个计算成员都有存储在哈希表(因此而得名)中的所有丰富数据的本地副本。在从主流中摄取任何数据之前,充实流被全部消耗。

    对于您的示例,所有成员将首先使用broker列表中的所有项,然后使用trades列表。

    StreamSource<Trade> queueSource = SourceBuilder.<IQueue<Trade>>stream("queueStream", 
            c -> c.jetInstance().getHazelcastInstance().getQueue("trades"))
        .<Trade>fillBufferFn((queue, buf) -> buf.add(queue.poll()))
        .build();
    

  •  类似资料:
    • 对不起,这可能是一个愚蠢的问题,但从文档中不清楚滑动窗口的度量单位是什么?是毫秒、秒还是流中的项数?我注意到聚合操作产生了空结果,我必须显式地过滤它们,因为该窗口可能没有可用的数据,所以我想最后一点它不是一个选项。

    • 问题内容: 这就是整个查询… 如果… 和… 有明显的理由吗? 正在服用? 扩展说明 问题答案: 您可以始终使用EXPLAIN或EXPLAIN EXTENDED 来查看MySql对查询所做的操作 您也可以用稍微不同的方式编写查询,是否尝试过以下方法? 看看效果如何会很有趣。我希望它会更快,因为目前,我认为MySql将为您拥有的每个节目运行内部查询1(这样一个查询将运行多次。联接应该更有效。) 如果希

    • 我正在尝试构建一个方法,删除具有非空属性的条目,但我一直在谓词中失败,我不知道如何正确实现谓词,因为hazelcast没有将“Not NULL”或“IS NULL”作为where子句任何想法如何在映射中找到我需要搜索以删除它们的值? 方法 主类响应SerializablePlus

    • 我开始开发一个spring cloud stream项目。我已通过@Streamlistener注释成功接收到来自Kafka的消息。在将消息发送到任何输出通道之前,我必须通过调用externalservice或DB调用来转换有效负载。我不想从同一个streamlistener方法调用外部服务或DB方法。我的问题是,我们能否在Spring云流中创建内部通道(如Spring集成DSL流)?

    • 以下代码在调试模式下工作良好,因为_BitScanReverse64被定义为如果未设置位则返回0。引用MSDN:(返回值为)“如果已设置索引,则为非零;如果未找到设置位,则为0。” 如果在发布模式下编译此代码,它仍然可以工作,但是如果启用编译器优化,例如\o1或\o2,则索引不为零,将失败。 这是故意的行为吗?我正在使用Visual Studio Community 2015,版本14.0.254

    • 在我的公司,我们广泛使用Kafka,但出于容错的原因,我们一直使用关系数据库来存储几个中间转换和聚合的结果。现在我们正在探索Kafka流作为一种更自然的方法来做到这一点。通常,我们的需求很简单--其中一个例子是 监听的输入队列 对每个记录执行一些高延迟操作(调用远程服务) 如果在处理时,都已生成,那么我应该处理V3,因为V2已经过时了 为了实现这一点,我将主题作为阅读。代码如下所示 这是预期的,但