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

带有Akka Actors的Storm拓扑构建器

秦育
2023-03-14
TopologyBuilder builder = new TopologyBuilder();
builder.setSpout("EventSpout", new TenderEventSpout2(), 1);
public class TenderEventSpout2 extends UntypedActor implements IRichSpout{  

    @Override 
    public void onReceive(Object message){// throws IOException {}

    @Override
    public void declareOutputFields(OutputFieldsDeclarer outputFieldsDeclarer) {}

    @Override
    public void open(Map map, TopologyContext topologyContext, SpoutOutputCollector spoutOutputCollector) {}

    @Override
    public void nextTuple() {}


    //Override all the interface methods
    @Override
    public void close() {}

    public boolean isDistributed() {
        return false;
    }

    @Override
    public void activate() {}

    @Override 
    public void deactivate() {}

    @Override
    public void ack(Object msgId) {}

    @Override
    public void fail(Object msgId) {}

    @Override
    public Map<String, Object> getComponentConfiguration() {
        return null;
    }

}

不能使用构造函数(new)显式创建[org.quadrisk.TopLogy.TenderEventspout2]的实例。您必须使用“actor of”工厂方法之一来创建新的actor。请参阅文档。

但是按照建议使用actorOf创建一个actor,会返回一个ActorRef类型的对象。我该怎么做。提前道谢。

共有1个答案

景元徽
2023-03-14

您需要使用use两个类而不是一个:

  1. 第一个实现执行元
  2. 第二个实现irichspout

在spout中,添加一个ActorRef成员变量,它包含通过ActorSystem#ActorOf(...)获得的第一个类的实例。

 类似资料:
  • 我正在尝试使用Eclipse在Linux中运行Storm启动示例。我收到以下错误和函数从未被调用。 错误: 我的拓扑类: 我正在虚拟机环境中工作,所以不知道这是否是由于安装了Zookeeper。有什么想法吗?

  • 8台机器一直在使用。每一个都有22个核心和512 GB的RAM。但是,我们的代码运行得真的很慢。传输600万个数据需要10分钟才能完成。 60个文件中的10 MB在一秒钟内传输到HDFS。我们正在努力优化我们的代码,但很明显我们做了一些非常错误的事情。 对于蜂巢表,我们有64个桶。 在HDFS喷口;.setmaxextending(50000); 在蜂巢喷口选项;.WithTxNsperBatch

  • 如何为storm拓扑提供自定义配置?例如,如果我构建了一个连接到MySQL集群的拓扑,并且我希望能够更改需要连接到哪些服务器而不需要重新编译,我将如何做到这一点?我更喜欢使用配置文件,但我担心文件本身没有部署到集群中,因此它不会运行(除非我对集群工作方式的理解有缺陷)。到目前为止,我所看到的在运行时将配置选项传递到storm拓扑的唯一方法是通过命令行参数,但当您获得大量参数时,这将是混乱的。 有一

  • 问题内容: 我们是新来的风暴。我们不知道如何创建拓扑,请帮助我们应对风暴。我们尝试了“ Windows上的狂风暴雨”一文中给出的示例wordcount c = topology。但是我们无法理解如何给出输入,以及风暴用户界面中输入存在的位置以及输出存在的位置。 问题答案: 输入和输出在Storm UI中不存在。在Storm UI中,您看不到发出的元组,处理时间,集群配置和集群的运行状况。要查看输出

  • 我是阿帕奇Storm的新手。我已经在intellij中用java创建了一个storm项目,它成功地创建了一个本地集群,并将拓扑提交给它,然后在本地运行。我想在亚马逊EC2上运行这个Storm项目。我跟踪了https://github.com/nathanmarz/storm-deploy/wiki链接。跟随链接成功发射了2个主管,1个动物园管理员和1个灵光。现在我想在服务器上运行我的拓扑。这是我在

  • 我读了很多和Storm有关的网站。但我仍然无法将拓扑结构完美地映射到Storm集群中。 请帮助我理解这一点。 在Storm集群中有这样的术语 null null null 所有这些都要用Storm集群来映射。我已经在一个项目里工作了。所以我知道拓扑结构。