Packages

t

ch.ninecode.cim

CIMRDD

trait CIMRDD extends AnyRef

Access globally named and cached RDD of CIM classes.

This uses the list of persistent RDDs maintained by Spark to retrieve pre-existing RDD of CIM classes persisted by the CIMReader.

These RDD are strongly typed, and are named according to the corresponding CIM class. For example, there is an RDD[ACLineSegment] with the name "ACLineSegment" persisted and remembered in the spark.sparkContext.getPersistentRDDs: collection.Map[Int, RDD[_] ] by the CIMReader.

Implicit parameters for the SparkSession and error Logger are required. Implicit parameter StorageLevel is required to put().

Example:
  1. Declare a class that extends CIMRDD to be able to access the get() methods:

    import org.apache.spark.rdd.RDD
    import org.apache.spark.sql.SparkSession
    import org.slf4j.Logger
    
    import ch.ninecode.CIMRDD
    import ch.ninecode.model._
    
    class Processor (spark: SparkSession) extends CIMRDD with Serializable
    {
        implicit val log: Logger = LoggerFactory.getLogger (getClass)
        implicit val session = spark
    
        def process =
        {
            val switches: RDD[Switch] = get[Switch]
            ⋮
        }
    }
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. CIMRDD
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def asDataSet[T <: Product](implicit arg0: ClassTag[T], arg1: scala.reflect.api.JavaUniverse.TypeTag[T], spark: SparkSession): Dataset[T]

    Get a typed DataSet for the given class.

    Get a typed DataSet for the given class.

    T

    The type of RDD.

    spark

    The Spark session.

    returns

    A typed dataset of the RDD.

  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def biggest(name: String): (Int, (Int, RDD[_])) ⇒ Int

    Find the largest integer after the name| pattern in a foldLeft operation.

    Find the largest integer after the name| pattern in a foldLeft operation.

    name

    the name to check

  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @HotSpotIntrinsicCandidate()
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  10. def get[T](implicit arg0: ClassTag[T], spark: SparkSession, log: Logger): RDD[T]

    Get the typed RDD.

    Get the typed RDD.

    Convenience method where the name of the RDD is the same as the contained class type (the usual case).

    T

    The type of the RDD, e.g. RDD[T].

    spark

    The Spark session which persisted the typed RDD.

    log

    A logger for error messages.

    returns

    The RDD with the given type of objects, e.g. RDD[ACLineSegment].

  11. def get[T](name: String)(implicit arg0: ClassTag[T], spark: SparkSession, log: Logger): RDD[T]

    Get the named RDD.

    Get the named RDD.

    T

    The type of objects contained in the named RDD.

    name

    The name of the RDD, usually the same as the CIM class.

    spark

    The Spark session which persisted the named RDD.

    log

    A logger for error messages.

    returns

    The typed RDD, e.g. RDD[T].

    Example:
    1. The RDD of all elements is somewhat special, currently it is named Elements (plural), so this method must be used:

      val elements: RDD[Element] = get[Element]("Elements")
  12. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  13. def getOrElse[T](implicit arg0: ClassTag[T], spark: SparkSession): RDD[T]

    Get the typed RDD or an empty RDD if none was registered.

    Get the typed RDD or an empty RDD if none was registered.

    Convenience method where the name of the RDD is the same as the contained class type (the usual case).

    T

    The type of the RDD, e.g. RDD[T].

    spark

    The Spark session which persisted the typed RDD.

    returns

    The RDD with the given type of objects, e.g. RDD[ACLineSegment], or an empty RDD of the requested type.

  14. def getOrElse[T](name: String)(implicit arg0: ClassTag[T], spark: SparkSession): RDD[T]

    Get the named RDD or else an empty RDD of the requested type.

    Get the named RDD or else an empty RDD of the requested type.

    T

    The type of objects contained in the named RDD.

    name

    The name of the RDD, usually the same as the CIM class.

    spark

    The Spark session which persisted the named RDD.

    returns

    The typed RDD, e.g. RDD[T], as either the persisted RDD or an empty one if none was found.

  15. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  16. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  17. def like(name: String): ((Int, RDD[_])) ⇒ Boolean

    Match names with pattern "name|xxx".

    Match names with pattern "name|xxx".

    name

    the name to match

    returns

    true if the RDD name matches the pattern

  18. def nameOf[T](implicit arg0: ClassTag[T]): String

    Get the base name of the CIM class.

    Get the base name of the CIM class.

    T

    The type of the class.

    returns

    The base name of the class.

  19. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  20. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  21. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  22. def put[T <: Product](rdd: RDD[T], keep: Boolean = false)(implicit arg0: ClassTag[T], arg1: scala.reflect.api.JavaUniverse.TypeTag[T], spark: SparkSession, storage: StorageLevel): Unit

    Persist the typed RDD using the class name, checkpoint it if that is enabled, and create the SQL view for it.

    Persist the typed RDD using the class name, checkpoint it if that is enabled, and create the SQL view for it.

    T

    The type of RDD.

    rdd

    The RDD to persist

    keep

    If true then don't unpersist any existing RDD with the given name.

    spark

    The Spark session.

    storage

    The storage level for persistence.

  23. def put[T <: Product](rdd: RDD[T], name: String, keep: Boolean)(implicit arg0: ClassTag[T], arg1: scala.reflect.api.JavaUniverse.TypeTag[T], spark: SparkSession, storage: StorageLevel): Unit

    Persist the typed RDD using the given name, checkpoint it if that is enabled, and create the SQL view for it.

    Persist the typed RDD using the given name, checkpoint it if that is enabled, and create the SQL view for it.

    Since the use of RDD persistence can be problematic for memory reuse, the keep parameter has special processing. When keep is true any existing RDD of the same name is renamed to name|n where n is sequentially increasing to the next available integer. When keep is false all existing RDD of the above form are unpersisted.

    This facilitates the use-case where the new RDD depends on the existing one. For example, the Elements RDD is rewritten by about, dedup, join, normalize and topological processing, where the new RDD is derived from the original. But when a completely new CIM RDF file is read in, keep=false will unpersist all the derived RDD.

    T

    The type of RDD.

    rdd

    The RDD to persist

    name

    The name under which to persist it.

    keep

    If true then don't unpersist the existing RDD with the given name.

    spark

    The Spark session.

    storage

    The storage level for persistence.

    returns

    The named, viewed and possibly checkpointed original RDD.

  24. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  25. def test[T](implicit arg0: ClassTag[T], spark: SparkSession): Boolean

    Check for the typed RDD.

    Check for the typed RDD.

    Convenience method where the name of the RDD is the same as the contained class type (the usual case).

    T

    The type of the RDD, e.g. RDD[T].

    spark

    The Spark session which persisted the typed RDD.

    returns

    true if the named RDD exists, false otherwise.

  26. def test[T](name: String)(implicit arg0: ClassTag[T], spark: SparkSession): Boolean

    Check for the named RDD.

    Check for the named RDD.

    T

    The type of objects contained in the named RDD.

    name

    The name of the RDD, usually the same as the CIM class.

    spark

    The Spark session which persisted the named RDD.

    returns

    true if the named RDD exists, false otherwise.

  27. def toInt(s: String): Option[Int]
  28. def toString(): String
    Definition Classes
    AnyRef → Any
  29. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  30. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  31. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] ) @Deprecated @deprecated
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

Inherited from AnyRef

Inherited from Any

Ungrouped