org.apache.tinkerpop.gremlin.hadoop.process.computer.traversal.step.sideEffect

## Class HadoopIoStep

- java.lang.Object
- - org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep<ComputerResult,ComputerResult>
  - - org.apache.tinkerpop.gremlin.process.computer.traversal.step.map.VertexProgramStep
    - - org.apache.tinkerpop.gremlin.hadoop.process.computer.traversal.step.sideEffect.HadoopIoStep

- All Implemented Interfaces:
    Serializable, Cloneable, Iterator<Traverser.Admin<ComputerResult>>, VertexComputing, Step<ComputerResult,ComputerResult>, Configuring, Parameterizing, ReadWriting

      public class HadoopIoStep
      extends VertexProgramStep
      implements ReadWriting

  An OLAP oriented step for doing IO operations with `GraphTraversalSource.io(String)` which uses the `CloneVertexProgram` for its implementation. Standard Hadoop OLAP configurations can be passed using the `GraphTraversal.with(String, Object)` step modulator as all options aside from those in `IO` will be transferred.
  Author:
    Stephen Mallette (http://stephen.genoprime.com)
  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.apache.tinkerpop.gremlin.process.traversal.step.ReadWriting

      `ReadWriting.Mode`

  - ### Field Summary

    - ### Fields inherited from class org.apache.tinkerpop.gremlin.process.computer.traversal.step.map.VertexProgramStep

      `computer, first, ROOT_TRAVERSAL, STEP_ID`

    - ### Fields inherited from class org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep

      `id, labels, nextEnd, nextStep, previousStep, starts, traversal, traverserStepIdAndLabelsSetByChild`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `HadoopIoStep(Traversal.Admin traversal, String file)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `HadoopIoStep` | `clone()` Cloning is used to duplicate steps for the purpose of traversal optimization and OLTP replication.
    `void` | `configure(Object... keyValues)` Accept a configuration to the `Step`.
    `CloneVertexProgram` | `generateProgram(Graph graph, Memory memory)` Generate the `VertexProgram`.
    `String` | `getFile()` Get the file location to write to.
    `ReadWriting.Mode` | `getMode()`
    `Parameters` | `getParameters()` Gets the parameters on the step.
    `int` | `hashCode()`
    `void` | `setMode(ReadWriting.Mode mode)`
    `String` | `toString()`

    - ### Methods inherited from class org.apache.tinkerpop.gremlin.process.computer.traversal.step.map.VertexProgramStep

      `getComputer, isEndStep, previousTraversalVertexProgram, processNextStart, setComputer`

    - ### Methods inherited from class org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep

      `addLabel, addStart, addStarts, equals, getId, getLabels, getNextStep, getPreviousStep, getStarts, getTraversal, hasNext, hasStarts, isTraverserStepIdAndLabelsSetByChild, next, prepareTraversalForNextStep, removeLabel, reset, setId, setNextStep, setPreviousStep, setTraversal`

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

      `finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface org.apache.tinkerpop.gremlin.process.traversal.Step

      `equals, getRequirements`

    - ### Methods inherited from interface java.util.Iterator

      `forEachRemaining, remove`

- - ### Constructor Detail

    - #### HadoopIoStep

          public HadoopIoStep(Traversal.Admin traversal,
                              String file)

  - ### Method Detail

    - #### setMode

          public void setMode(ReadWriting.Mode mode)

      Specified by:
        `setMode` in interface `ReadWriting`

    - #### getMode

          public ReadWriting.Mode getMode()

      Specified by:
        `getMode` in interface `ReadWriting`

    - #### getFile

          public String getFile()

      Description copied from interface: `ReadWriting`
      Get the file location to write to.
      Specified by:
        `getFile` in interface `ReadWriting`

    - #### configure

          public void configure(Object... keyValues)

      Description copied from interface: `Configuring`
      Accept a configuration to the `Step`. Note that this interface extends `Parameterizing` and so there is an expectation that the `Step` implementation will have a `Parameters` instance that will house any values passed to this method. Storing these configurations in `Parameters` is not a requirement however, IF the configuration is an expected option for the step and can be stored on a member field that can be accessed on the step by more direct means (i.e. like a getter method).
      Specified by:
        `configure` in interface `Configuring`

    - #### getParameters

          public Parameters getParameters()

      Description copied from interface: `Parameterizing`
      Gets the parameters on the step.
      Specified by:
        `getParameters` in interface `Parameterizing`

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `AbstractStep<ComputerResult,ComputerResult>`

    - #### generateProgram

          public CloneVertexProgram generateProgram(Graph graph,
                                                    Memory memory)

      Description copied from interface: `VertexComputing`
      Generate the `VertexProgram`.
      Specified by:
        `generateProgram` in interface `VertexComputing`
      Parameters:
        `graph` - the `Graph` that the program will be executed over.
        `memory` - the `Memory` from the previous OLAP job if it exists, else its an empty memory structure.
      Returns:
        the generated vertex program instance.

    - #### clone

          public HadoopIoStep clone()

      Description copied from interface: `Step`
      Cloning is used to duplicate steps for the purpose of traversal optimization and OLTP replication. When cloning a step, it is important that the steps, the cloned step is equivalent to the state of the step when `Step.reset()` is called. Moreover, the previous and next steps should be set to `EmptyStep`.
      Specified by:
        `clone` in interface `Step<ComputerResult,ComputerResult>`
      Overrides:
        `clone` in class `AbstractStep<ComputerResult,ComputerResult>`
      Returns:
        The cloned step

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `AbstractStep<ComputerResult,ComputerResult>`

Copyright © 2013–2021 Apache Software Foundation. All rights reserved.