【问题标题】:Multiple Streams in Trident TopologyTrident 拓扑中的多个流
【发布时间】:2015-10-05 04:31:00
【问题描述】:

我有多个从不同 Kafka 主题读取的 OpaqueTridentKafkaSpout。我希望所有这些流中的数据通过同一组函数。实现这一目标的最佳方法是什么。 我是否需要创建单独的流并将每个元组再次传递给同一组函数。像下面这样?

BrokerHosts zk = new ZkHosts(getZooKeeperHosts());
TridentKafkaConfig spoutConf = new TridentKafkaConfig(zk, "Test");
spoutConf.scheme = new SchemeAsMultiScheme(new StringScheme());
TridentKafkaConfig spoutConf1 = new TridentKafkaConfig(zk, "Test1");
spoutConf1.scheme = new SchemeAsMultiScheme(new StringScheme());
OpaqueTridentKafkaSpout kafkaSpout1 = new OpaqueTridentKafkaSpout(spoutConf1);

topology.newStream("event", kafkaSpout).each(new Fields("document"), new ExtractDocumentInfo(), new Fields("id", "index", "type"));
topology.newStream("event1", kafkaSpout1).each(new Fields("document"), new ExtractDocumentInfo(), new Fields("id", "index", "type"));

【问题讨论】:

    标签: apache-kafka trident apache-storm


    【解决方案1】:

    您可以将流合并在一起,但任何失败都会导致两个 spout 重播批处理。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多