Class TableInputSplit

java.lang.Object
org.apache.hadoop.mapreduce.InputSplit
oracle.kv.hadoop.table.TableInputSplit
All Implemented Interfaces:
Writable

public class TableInputSplit extends InputSplit implements Writable
Concrete implementation of the InputSplit interface required to perform Hadoop MapReduce. A RecordReader will take instances of this class, where each such instance corresponds to data stored in an Oracle NoSQL Database store, and use those instances to retrieve that data when performing the MapReduce job.
Since:
3.1
  • Field Details

  • Constructor Details

    • TableInputSplit

      public TableInputSplit()
      No-arg constructor required by Hadoop semantics.
  • Method Details

    • getLength

      public long getLength()
      Get the size of the split, so that the input splits can be sorted by size.
      Specified by:
      getLength in class InputSplit
      Returns:
      the number of bytes in the split
    • getLocations

      public String[] getLocations()
      Get the list of nodes by name where the data for the split would be local. The locations do not need to be serialized.
      Specified by:
      getLocations in class InputSplit
      Returns:
      a new array of the node nodes.
    • getKVHelperHosts

      public String[] getKVHelperHosts()
      Returns a String array with elements of the form, '<hostname:port>'; where each elment specifies the connection information for each of store's helper hosts. Note that this method must be public so that instances of Hive InputSplit classes can wrap and delegate to an instance of this class.
    • getKVStoreName

      public String getKVStoreName()
      Returns the name of the store containing the records associated with this split. Note that this method must be public so that instances of Hive InputSplit classes can wrap and delegate to an instance of this class.
    • getTableName

      public String getTableName()
    • getPartitionSets

      public List<Set<Integer>> getPartitionSets()
      Returns a List whose elements are Sets of partitions; whose union is the set of all partitions in the store. Note that this method is declared public so that the method TableHiveInputSplit.getPartitionSets can delegate to this method.
    • setQueryInfo

      public TableInputSplit setQueryInfo(int newQueryBy, String whereClause)
    • getQueryBy

      public int getQueryBy()
    • getWhereClause

      public String getWhereClause()
    • getShardSet

      public Set<oracle.kv.impl.topo.RepGroupId> getShardSet()
    • getSecurityLogin

      public String getSecurityLogin()
    • getSecurityCredentials

      public PasswordCredentials getSecurityCredentials()
    • getSecurityTrust

      public String getSecurityTrust()
    • write

      public void write(DataOutput out) throws IOException
      Serialize the fields of this object to out.
      Specified by:
      write in interface Writable
      Parameters:
      out - DataOuput to serialize this object into.
      Throws:
      IOException - if an I/O error occurs
    • readFields

      public void readFields(DataInput in) throws IOException
      Deserialize the fields of this object from in.

      For efficiency, implementations should attempt to re-use storage in the existing object where possible.

      Specified by:
      readFields in interface Writable
      Parameters:
      in - DataInput to deseriablize this object from.
      Throws:
      IOException - if an I/O error occurs
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object