Class TypeLoader

java.lang.Object
com.sparsity.sparksee.io.TypeLoader
Direct Known Subclasses:
EdgeTypeLoader, NodeTypeLoader

public class TypeLoader extends Object
Base TypeLoader class.

Base class to load a node or edge type from a graph using a RowReader.

TypeLoaderListener can be registered to receive information about the progress of the load process by means of TypeLoaderEvent. The default frequency of notification to listeners is 100000.

Check out the 'Data import' section in the SPARKSEE User Manual for more details on this.

Author:
Sparsity Technologies http://www.sparsity-technologies.com
  • Method Details

    • run

      public void run() throws RuntimeException, IOException
      Run the loader.

      ErrorFor other issues

      Throws:
      RuntimeException - null
      IOException - If bad things happen using to the RowReader.
    • runTwoPhases

      public void runTwoPhases() throws RuntimeException, IOException
      Run the loader for two phases loading.

      Firstly load all objects (and create them if necessary) and secondly loads all the attributes.

      Working on this mode it is necessary to build a temporary file. ErrorFor other issues

      Throws:
      RuntimeException - null
      IOException - If bad things happen using to the RowReader.
    • setLogError

      public void setLogError(String path) throws IOException
      Sets a log error file.

      By default errors are thrown as a exception and the load process ends. If a log file is set, errors are logged there and the load process does not stop.

      Parameters:
      path - [in] The path to the error log file.
      Throws:
      IOException - If bad things happen opening the file.
    • setType

      public void setType(int type)
      Sets the type to be loaded.

      Parameters:
      type - [in] Type identifier.
    • setLocale

      public void setLocale(String localeStr)
      Sets the locale that will be used to read the data.

      It should match the locale used in the rowreader.

      Parameters:
      localeStr - [in] The locale string for the read data. See CSVReader.
    • setTimestampFormat

      public void setTimestampFormat(String timestampFormat)
      Sets a specific timestamp format.

      Parameters:
      timestampFormat - [in] A string with the timestamp format definition.
    • setAttributes

      public void setAttributes(AttributeList attrs)
      Sets the list of Attributes.

      Parameters:
      attrs - [in] Attribute identifiers to be loaded
    • register

      public void register(TypeLoaderListener tel)
      Registers a new listener.

      Parameters:
      tel - TypeLoaderListener to be registered.
    • setFrequency

      public void setFrequency(int freq)
      Sets the frequency of listener notification.

      Parameters:
      freq - [in] Frequency in number of rows managed to notify progress to all listeners
    • setRowReader

      public void setRowReader(RowReader rr)
      Sets the input data source.

      Parameters:
      rr - [in] Input RowReader.
    • setAttributePositions

      public void setAttributePositions(Int32List attrsPos)
      Sets the list of attribute positions.

      attrsPos[in] Attribute positions (column index >=0).

      Parameters:
      attrsPos - [in] Attribute positions (column index >=0).
    • runNPhases

      public void runNPhases(int partitions) throws RuntimeException, IOException
      Run the loader for N phases loading.

      Firstly load all objects (and create them if necessary) and secondly loads all the attributes. But in this case, attributes are loaded one by one. This way, if there are three attributes, then 4 traverses are necessary.

      Working on this mode it is necessary to build a temporary file. ErrorFor other issues

      Parameters:
      partitions - [in] Number of horizontal partitions to perform the load.
      Throws:
      RuntimeException - null
      IOException - If bad things happen using to the RowReader.
    • setGraph

      public void setGraph(Graph graph)
      Sets the graph where the data will be loaded.

      Parameters:
      graph - [in] Graph.
    • setLogOff

      public void setLogOff()
      Truns off all the error reporting.

      The log file will not be created and no exceptions for invalid data will be thrown. If you just want to turn off the logs, but abort at the first error what you should do is not call this method and not set a logError file.