千家信息网

Storm RandomURLSpout怎么使用

发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,本篇内容介绍了"Storm RandomURLSpout怎么使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够
千家信息网最后更新 2025年12月03日Storm RandomURLSpout怎么使用

本篇内容介绍了"Storm RandomURLSpout怎么使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

阅读背景:您需要对Storm的基本处理机制做一个详尽的了解。

package com.digitalpebble.storm.crawler.spout;import java.util.Map;import java.util.Random;import backtype.storm.spout.SpoutOutputCollector;import backtype.storm.task.TopologyContext;import backtype.storm.topology.OutputFieldsDeclarer;import backtype.storm.topology.base.BaseRichSpout;import backtype.storm.tuple.Fields;import backtype.storm.tuple.Values;import backtype.storm.utils.Utils;public class RandomURLSpout extends BaseRichSpout {        SpoutOutputCollector _collector;        Random _rand;        public void open(Map conf, TopologyContext context,                        SpoutOutputCollector collector) {                _collector = collector;                _rand = new Random();        }        public void nextTuple() {                Utils.sleep(100);                String[] urls = new String[] { "http://www.lequipe.fr/",                                "http://www.lemonde.fr/", "http://www.bbc.co.uk/",                                "http://www.facebook.com/", "http://www.rmc.fr" };                String url = urls[_rand.nextInt(urls.length)];                _collector.emit(new Values(url));        }        @Override        public void ack(Object id) {        }        @Override        public void fail(Object id) {        }        public void declareOutputFields(OutputFieldsDeclarer declarer) {                declarer.declare(new Fields("url"));        }}

在这里,我们继承的是

BaseRichSpout

SimpleTips, 在这里,URL 对象将源源不断的发射我们所需要的URL 对象。

"Storm RandomURLSpout怎么使用"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

0