org.apache.storm.perf.spout

## Class WordGenSpout

- java.lang.Object
- - org.apache.storm.topology.base.BaseComponent
  - - org.apache.storm.topology.base.BaseRichSpout
    - - org.apache.storm.perf.spout.WordGenSpout

- All Implemented Interfaces:
    Serializable, ISpout, IComponent, IRichSpout

      public class WordGenSpout
      extends BaseRichSpout

  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `FIELDS`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `WordGenSpout(String file)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `declareOutputFields(OutputFieldsDeclarer declarer)` Declare the output schema for all the streams of this topology.
    `void` | `nextTuple()` When this method is called, Storm is requesting that the Spout emit tuples to the output collector.
    `void` | `open(Map<String,Object> conf, TopologyContext context, SpoutOutputCollector collector)` Called when a task for this component is initialized within a worker on the cluster.
    `static ArrayList<String>` | `readWords(String file)` Reads text file and extracts words from each line.

    - ### Methods inherited from class org.apache.storm.topology.base.BaseRichSpout

      `ack, activate, close, deactivate, fail`

    - ### Methods inherited from class org.apache.storm.topology.base.BaseComponent

      `getComponentConfiguration`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.apache.storm.topology.IComponent

      `getComponentConfiguration`

- - ### Field Detail

    - #### FIELDS

          public static final String FIELDS

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### WordGenSpout

          public WordGenSpout(String file)

  - ### Method Detail

    - #### readWords

          public static ArrayList<String> readWords(String file)

      Reads text file and extracts words from each line.

      Returns:
        a list of all (non-unique) words

    - #### open

          public void open(Map<String,Object> conf,
                           TopologyContext context,
                           SpoutOutputCollector collector)

      Description copied from interface: `ISpout`

      Called when a task for this component is initialized within a worker on the cluster. It provides the spout with the environment in which the spout executes.

      This includes the:

      Parameters:
        `conf` - The Storm configuration for this spout. This is the configuration provided to the topology merged in with cluster configuration on this machine.
        `context` - This object can be used to get information about this task’s place within the topology, including the task id and component id of this task, input and output information, etc.
        `collector` - The collector is used to emit tuples from this spout. Tuples can be emitted at any time, including the open and close methods. The collector is thread-safe and should be saved as an instance variable of this spout object.

    - #### nextTuple

          public void nextTuple()

      Description copied from interface: `ISpout`

      When this method is called, Storm is requesting that the Spout emit tuples to the output collector. This method should be non-blocking, so if the Spout has no tuples to emit, this method should return. nextTuple, ack, and fail are all called in a tight loop in a single thread in the spout task. When there are no tuples to emit, it is courteous to have nextTuple sleep for a short amount of time (like a single millisecond) so as not to waste too much CPU.

    - #### declareOutputFields

          public void declareOutputFields(OutputFieldsDeclarer declarer)

      Description copied from interface: `IComponent`

      Declare the output schema for all the streams of this topology.

      Parameters:
        `declarer` - this is used to declare output stream ids, output fields, and whether or not each output stream is a direct stream

Copyright © 2021 The Apache Software Foundation. All rights reserved.