com.nicta.scoobi.application

ScoobiApp

Related Doc: package application

trait ScoobiApp extends ScoobiCommandLineArgs with ScoobiAppConfiguration with Hadoop with HadoopLogFactoryInitialisation with Persist

This trait can be extended to create an application running Scoobi code.

Command-line arguments are available in the args attribute (minus the hadoop specific ones) and a default implicit ScoobiConfiguration is also accessible to create DLists.

A ScoobiApp will be used in 2 different contexts:

  1. with the hadoop script

In that case you will use hadoop default configuration files or you will need to tell this script where to find the configuration files.

2. within sbt

In that case the cluster location can be either defined by:

Then, if it can be determined that the execution will not be local but on the cluster (@see locally), the ScoobiApp trait will attempt to load the dependent jars to the libjars directory on the cluster (if not already there, @see LibJars for the details). This behavior can be switched off by overriding the upload method: override def upload = false or by passing the 'nolibjars' argument on the command line

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. ScoobiApp
  2. Persist
  3. HadoopLogFactoryInitialisation
  4. Hadoop
  5. LibJars
  6. LocalHadoop
  7. InMemoryHadoop
  8. ScoobiUserArgs
  9. ScoobiAppConfiguration
  10. SystemProperties
  11. ScoobiArgs
  12. ClusterConfiguration
  13. Cluster
  14. ScoobiCommandLineArgs
  15. DelayedInit
  16. AnyRef
  17. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. class PersistableList[A] extends AnyRef

    Definition Classes
    Persist
  2. class PersistableObject[A] extends AnyRef

    Definition Classes
    Persist
  3. case class RunnableDList[T](list: DList[T]) extends Product with Serializable

    Definition Classes
    Persist
  4. case class RunnableDObject[T](o: DObject[T]) extends Product with Serializable

    Definition Classes
    Persist

Abstract Value Members

  1. abstract def run(): Unit

    this method needs to be overridden and define the code to be executed

Concrete 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. lazy val HADOOP_COMMAND: Option[String]

    Definition Classes
    ScoobiAppConfiguration
  5. lazy val HADOOP_CONF_DIR: Option[String]

    Definition Classes
    ScoobiAppConfiguration
  6. lazy val HADOOP_HOME: Option[String]

    Definition Classes
    ScoobiAppConfiguration
  7. def args: Seq[String]

    shortcut name for command-line arguments, after extraction of the hadoop and scoobi ones

  8. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  9. implicit def asRunnableDList[T](list: DList[T]): RunnableDList[T]

    make a DList runnable, executing the computation and returning the values

    make a DList runnable, executing the computation and returning the values

    Definition Classes
    Persist
  10. implicit def asRunnableDObject[T](o: DObject[T]): RunnableDObject[T]

    make a DObject runnable, executing the computation and returning the values

    make a DObject runnable, executing the computation and returning the values

    Definition Classes
    Persist
  11. def categories: String

    returns

    the categories to show when logging, as a regular expression

    Definition Classes
    ScoobiUserArgsScoobiArgs
  12. def classDirs: Seq[String]

    returns

    the classes directories to include on a job classpath

    Definition Classes
    Hadoop
  13. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  14. var commandLineArguments: Seq[String]

    Attributes
    protected[com.nicta.scoobi]
    Definition Classes
    ScoobiCommandLineArgs
  15. implicit lazy val configuration: ScoobiConfiguration

    store the value of the configuration in a lazy val, so that it can be updated and still be referenced

    store the value of the configuration in a lazy val, so that it can be updated and still be referenced

    Definition Classes
    ScoobiAppScoobiAppConfigurationClusterConfiguration
  16. lazy val configurationFilesDiagnostic: Unit

    Definition Classes
    ScoobiAppConfiguration
  17. def configurationFromConfigurationDirectory(conf: Configuration): Configuration

    returns

    a configuration object set with the properties found in the hadoop directories

    Definition Classes
    ScoobiAppConfiguration
  18. def configureArguments(implicit configuration: ScoobiConfiguration): Unit

    set command-line arguments on the configuration object

    set command-line arguments on the configuration object

    Attributes
    protected
    Definition Classes
    InMemoryHadoop
  19. def configureForCluster(implicit configuration: ScoobiConfiguration): ScoobiConfiguration

    returns

    a configuration with cluster setup

    Definition Classes
    Hadoop
  20. def configureForInMemory(implicit configuration: ScoobiConfiguration): ScoobiConfiguration

    returns

    a configuration with memory setup

    Definition Classes
    InMemoryHadoop
  21. def configureForLocal(implicit configuration: ScoobiConfiguration): ScoobiConfiguration

    returns

    a configuration with local setup

    Definition Classes
    LocalHadoop
  22. def configureJars(implicit configuration: ScoobiConfiguration): Unit

    returns

    a configuration where the appropriate properties are set-up for uploaded jars: distributed files + classpath

    Definition Classes
    LibJars
  23. def delayedInit(x: ⇒ Unit): Unit

    Definition Classes
    ScoobiCommandLineArgs → DelayedInit
  24. def deleteJars(implicit configuration: ScoobiConfiguration): Unit

    returns

    delete the remote jars currently on the cluster

    Definition Classes
    LibJars
  25. def deleteLibJars: Boolean

    returns

    true if the libjars must be deleted before the Scoobi job runs

    Definition Classes
    ScoobiUserArgsScoobiArgs
  26. def displayTime(prefix: String): (SimpleTimer) ⇒ Unit

    returns

    a function to display execution times. The default uses log messages

    Definition Classes
    InMemoryHadoop
  27. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  28. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  29. def executeInMemory[T](t: ⇒ T)(implicit configuration: ScoobiConfiguration): T

    execute some code locally

    execute some code locally

    Definition Classes
    InMemoryHadoop
  30. def executeOnCluster[T](t: ⇒ T)(implicit configuration: ScoobiConfiguration): T

    execute some code on the cluster, setting the filesystem / jobtracker addresses and setting up the classpath

    execute some code on the cluster, setting the filesystem / jobtracker addresses and setting up the classpath

    Definition Classes
    Hadoop
  31. def executeOnLocal[T](t: ⇒ T)(implicit configuration: ScoobiConfiguration): T

    execute some code locally

    execute some code locally

    Definition Classes
    LocalHadoop
  32. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  33. def frameworkName: String

    returns

    the framework name: yarn, classic or local. This is only relevant for CDH5

    Definition Classes
    ClusterConfigurationCluster
  34. def fs: String

    returns

    the filesystem address

    Definition Classes
    ClusterConfigurationCluster
  35. lazy val fss: FileSystems

    Attributes
    protected[com.nicta.scoobi]
    Definition Classes
    LibJars
  36. def get(name: String): Option[String]

    Definition Classes
    SystemProperties
  37. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  38. def getEnv(name: String): Option[String]

    Definition Classes
    SystemProperties
  39. def hadoopArgs: Array[String]

    Definition Classes
    InMemoryHadoop
  40. lazy val hadoopConfDirs: Seq[String]

    Definition Classes
    ScoobiAppConfiguration
  41. lazy val hadoopHomeDir: Option[String]

    Definition Classes
    ScoobiAppConfiguration
  42. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  43. def inMemory[T](t: ⇒ T)(implicit configuration: ScoobiConfiguration): T

    execute some code in memory, using a collection backend, possibly showing execution times

    execute some code in memory, using a collection backend, possibly showing execution times

    Definition Classes
    InMemoryHadoop
  44. def includeLibJars: Boolean

    returns

    true if you want to include the library jars in the jar that is sent to the cluster for each job

    Definition Classes
    Hadoop
  45. def isCluster: Boolean

    Definition Classes
    ScoobiUserArgs
  46. def isClusterOnly: Boolean

    returns

    true if the cluster argument is specified and the local argument is not

    Definition Classes
    ScoobiUserArgs
  47. def isHadoopConfigured: Boolean

    returns

    true if there are some configuration directories for hadoop

    Definition Classes
    ScoobiAppConfiguration
  48. def isInMemory: Boolean

    Definition Classes
    ScoobiUserArgs
  49. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  50. def isLocal: Boolean

    Definition Classes
    ScoobiUserArgs
  51. def isLocalOnly: Boolean

    alias for locally

    alias for locally

    Definition Classes
    ScoobiUserArgs
  52. def jars(implicit configuration: ScoobiConfiguration): Seq[URL]

    returns

    the list of library jars to upload

    Definition Classes
    LibJars
  53. def jobTracker: String

    returns

    the jobtracker address

    Definition Classes
    ClusterConfigurationCluster
  54. def keepFiles: Boolean

    returns

    false if temporary files and working directory must be cleaned-up after job execution

    Definition Classes
    ScoobiUserArgsScoobiArgs
  55. def level: Level

    returns

    the log level to use when logging

    Definition Classes
    ScoobiUserArgsScoobiArgs
  56. def libjarsDirectory(implicit configuration: ScoobiConfiguration): String

    returns

    the path of the directory to use when loading jars to the filesystem.

    Definition Classes
    LibJars
  57. lazy val locally: Boolean

    the execution is local if the file system is local, as determined by the configuration files loaded by the hadoop script or if "local" is passed on the command line.

    the execution is local if the file system is local, as determined by the configuration files loaded by the hadoop script or if "local" is passed on the command line.

    if locally returns true then we might attempt to upload the dependent jars to the cluster and to add them to the classpath

    returns

    true if the Scoobi job must be run locally

    Definition Classes
    ScoobiAppScoobiUserArgsScoobiArgs
  58. def main(arguments: Array[String]): Unit

    parse the command-line argument and:

    parse the command-line argument and:

    • upload the dependent jars on the cluster
    • execute the user code
  59. def mainJarContainsDependencies: Boolean

    returns

    true if the main jar contains all the dependencies for this application by default this is delegated to the Classes trait which looks for the presence of a scoobi_* jar or for com/nicta/scoobi jar entries in the main jar

  60. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  61. def noLibJars: Boolean

    returns

    false if libjars are used

    Definition Classes
    ScoobiUserArgsScoobiArgs
  62. final def notify(): Unit

    Definition Classes
    AnyRef
  63. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  64. def onCluster[T](t: ⇒ T)(implicit configuration: ScoobiConfiguration): T

    execute some code on the cluster, possibly showing the execution time

    execute some code on the cluster, possibly showing the execution time

    Definition Classes
    Hadoop
  65. def onHadoop[T](t: ⇒ T)(implicit configuration: ScoobiConfiguration): T

    execute some code, either locally or on the cluster, depending on the local argument being passed on the commandline

    execute some code, either locally or on the cluster, depending on the local argument being passed on the commandline

    Definition Classes
    Hadoop
  66. def onLocal[T](t: ⇒ T)(implicit configuration: ScoobiConfiguration): T

    execute some code locally, possibly showing execution times

    execute some code locally, possibly showing execution times

    Definition Classes
    LocalHadoop
  67. def parseHadoopArguments(arguments: Array[String]): Unit

    Attributes
    protected
  68. def persist(ps: Persistent[_]*)(implicit sc: ScoobiConfiguration): Seq[Persistent[_]]

    Definition Classes
    Persist
  69. def persist[A](list: DList[A])(implicit sc: ScoobiConfiguration): DList[A]

    Definition Classes
    Persist
  70. def persist[A](o: DObject[A])(implicit sc: ScoobiConfiguration): A

    Persisting

    Persisting

    Definition Classes
    Persist
  71. implicit def persistableList[A](list: DList[A]): PersistableList[A]

    allow to call list.persist

    allow to call list.persist

    Definition Classes
    Persist
  72. implicit def persistableObject[A](o: DObject[A]): PersistableObject[A]

    allow to call object.persist

    allow to call object.persist

    Definition Classes
    Persist
  73. def quiet: Boolean

    returns

    true to suppress log messages

    Definition Classes
    ScoobiUserArgsScoobiArgs
  74. def run[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10](p1: Persistent[T1], p2: Persistent[T2], p3: Persistent[T3], p4: Persistent[T4], p5: Persistent[T5], p6: Persistent[T6], p7: Persistent[T7], p8: Persistent[T8], p9: Persistent[T9], p10: Persistent[T10])(implicit configuration: ScoobiConfiguration): (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)

    Definition Classes
    Persist
  75. def run[T1, T2, T3, T4, T5, T6, T7, T8, T9](p1: Persistent[T1], p2: Persistent[T2], p3: Persistent[T3], p4: Persistent[T4], p5: Persistent[T5], p6: Persistent[T6], p7: Persistent[T7], p8: Persistent[T8], p9: Persistent[T9])(implicit configuration: ScoobiConfiguration): (T1, T2, T3, T4, T5, T6, T7, T8, T9)

    Definition Classes
    Persist
  76. def run[T1, T2, T3, T4, T5, T6, T7, T8](p1: Persistent[T1], p2: Persistent[T2], p3: Persistent[T3], p4: Persistent[T4], p5: Persistent[T5], p6: Persistent[T6], p7: Persistent[T7], p8: Persistent[T8])(implicit configuration: ScoobiConfiguration): (T1, T2, T3, T4, T5, T6, T7, T8)

    Definition Classes
    Persist
  77. def run[T1, T2, T3, T4, T5, T6, T7](p1: Persistent[T1], p2: Persistent[T2], p3: Persistent[T3], p4: Persistent[T4], p5: Persistent[T5], p6: Persistent[T6], p7: Persistent[T7])(implicit configuration: ScoobiConfiguration): (T1, T2, T3, T4, T5, T6, T7)

    Definition Classes
    Persist
  78. def run[T1, T2, T3, T4, T5, T6](p1: Persistent[T1], p2: Persistent[T2], p3: Persistent[T3], p4: Persistent[T4], p5: Persistent[T5], p6: Persistent[T6])(implicit configuration: ScoobiConfiguration): (T1, T2, T3, T4, T5, T6)

    Definition Classes
    Persist
  79. def run[T1, T2, T3, T4, T5](p1: Persistent[T1], p2: Persistent[T2], p3: Persistent[T3], p4: Persistent[T4], p5: Persistent[T5])(implicit configuration: ScoobiConfiguration): (T1, T2, T3, T4, T5)

    Definition Classes
    Persist
  80. def run[T1, T2, T3, T4](p1: Persistent[T1], p2: Persistent[T2], p3: Persistent[T3], p4: Persistent[T4])(implicit configuration: ScoobiConfiguration): (T1, T2, T3, T4)

    Definition Classes
    Persist
  81. def run[T1, T2, T3](p1: Persistent[T1], p2: Persistent[T2], p3: Persistent[T3])(implicit configuration: ScoobiConfiguration): (T1, T2, T3)

    Definition Classes
    Persist
  82. def run[T1, T2](p1: Persistent[T1], p2: Persistent[T2])(implicit configuration: ScoobiConfiguration): (T1, T2)

    Definition Classes
    Persist
  83. def run[T](p: Persistent[T])(implicit configuration: ScoobiConfiguration): T

    run a list.

    run a list.

    This is equivalent to: val obj = list.materialise run(obj)

    Definition Classes
    Persist
  84. def runInMemory[T](t: ⇒ T): T

    returns

    the result of the in-memory run

    Definition Classes
    InMemoryHadoop
  85. def runOnCluster[T](t: ⇒ T): T

    returns

    the cluster evaluation of t

    Definition Classes
    Hadoop
  86. def runOnLocal[T](t: ⇒ T): T

    returns

    the result of the local run

    Definition Classes
    LocalHadoop
  87. def scoobiArgs: Seq[String]

    this provides the arguments which are parsed to change the behavior of the Scoobi app: logging, local/cluster,...

    this provides the arguments which are parsed to change the behavior of the Scoobi app: logging, local/cluster,...

    Definition Classes
    ScoobiAppScoobiUserArgs
    See also

    ScoobiUserArgs

  88. var scoobiArguments: Seq[String]

    Attributes
    protected[com.nicta.scoobi]
    Definition Classes
    ScoobiCommandLineArgs
  89. def setConfiguration(c: Configuration): Configuration

    set the default configuration, depending on the arguments

    set the default configuration, depending on the arguments

    Definition Classes
    ScoobiAppConfiguration
  90. def setLogFactory(name: String = classOf[HadoopLogFactory].getName): Unit

    Static setup to use a testing log factory

    Static setup to use a testing log factory

    Definition Classes
    InMemoryHadoop
  91. def showPlanOnly: Boolean

    returns

    true if the debug logs must show the computation graph and not evaluate it

    Definition Classes
    ScoobiUserArgsScoobiArgs
  92. def showTime[T](t: ⇒ T)(display: (SimpleTimer) ⇒ Unit): T

    measure the time taken by some executed code and display the time with a specific display function

    measure the time taken by some executed code and display the time with a specific display function

    Definition Classes
    InMemoryHadoop
  93. def showTimes: Boolean

    returns

    true to display execution times for each job

    Definition Classes
    ScoobiUserArgsScoobiArgs
  94. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  95. lazy val sysProps: SystemProperties

    Attributes
    protected[com.nicta.scoobi]
    Definition Classes
    LibJars
  96. def toString(): String

    Definition Classes
    AnyRef → Any
  97. def upload: Boolean

    upload the jars unless 'nolibjars' has been set on the command-line'

    upload the jars unless 'nolibjars' has been set on the command-line'

    Definition Classes
    ScoobiAppLibJars
  98. def uploadLibJarsFiles(deleteLibJarsFirst: Boolean = false)(implicit configuration: ScoobiConfiguration): Unit

    upload the jars which don't exist yet in the library directory on the cluster

    upload the jars which don't exist yet in the library directory on the cluster

    Definition Classes
    LibJars
  99. def uploadedJars(implicit configuration: ScoobiConfiguration): Seq[Path]

    returns

    the remote jars currently on the cluster

    Definition Classes
    LibJars
  100. def useHadoopConfDir: Boolean

    returns

    true if cluster configuration must be loaded from Hadoop's configuration directory

    Definition Classes
    ScoobiUserArgsScoobiArgs
  101. var userArguments: Seq[String]

    Attributes
    protected[com.nicta.scoobi]
    Definition Classes
    ScoobiCommandLineArgs
  102. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  103. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  104. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  105. def withTimer[T](t: ⇒ T): (T, SimpleTimer)

    returns

    the time for the execution of a piece of code

    Definition Classes
    InMemoryHadoop

Inherited from Persist

Inherited from Hadoop

Inherited from LibJars

Inherited from LocalHadoop

Inherited from InMemoryHadoop

Inherited from ScoobiUserArgs

Inherited from ScoobiAppConfiguration

Inherited from SystemProperties

Inherited from ScoobiArgs

Inherited from ClusterConfiguration

Inherited from Cluster

Inherited from ScoobiCommandLineArgs

Inherited from DelayedInit

Inherited from AnyRef

Inherited from Any

Ungrouped