com.nicta.scoobi.application

ScoobiApp

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: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. lazy val HADOOP_COMMAND: Option[String]

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

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

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

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

  10. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  11. 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
  12. 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
  13. def categories: String

    returns

    the categories to show when logging, as a regular expression

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

    returns

    the classes directories to include on a job classpath

    Definition Classes
    Hadoop
  15. def clone(): AnyRef

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

    Attributes
    protected[com.nicta.scoobi]
    Definition Classes
    ScoobiCommandLineArgs
  17. 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
  18. lazy val configurationFilesDiagnostic: Unit

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

    returns

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

    Definition Classes
    ScoobiAppConfiguration
  20. 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
  21. def configureForCluster(implicit configuration: ScoobiConfiguration): ScoobiConfiguration

    returns

    a configuration with cluster setup

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

    returns

    a configuration with memory setup

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

    returns

    a configuration with local setup

    Definition Classes
    LocalHadoop
  24. 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
  25. def delayedInit(x: ⇒ Unit): Unit

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

    returns

    delete the remote jars currently on the cluster

    Definition Classes
    LibJars
  27. def deleteLibJars: Boolean

    returns

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

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

    returns

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

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

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

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

    execute some code locally

    execute some code locally

    Definition Classes
    InMemoryHadoop
  32. 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
  33. def executeOnLocal[T](t: ⇒ T)(implicit configuration: ScoobiConfiguration): T

    execute some code locally

    execute some code locally

    Definition Classes
    LocalHadoop
  34. def finalize(): Unit

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

    returns

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

    Definition Classes
    ClusterConfigurationCluster
  36. def fs: String

    returns

    the filesystem address

    Definition Classes
    ClusterConfigurationCluster
  37. lazy val fss: FileSystems

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

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

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

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

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

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

    Definition Classes
    ScoobiAppConfiguration
  44. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  45. 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
  46. 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
  47. def isCluster: Boolean

    Definition Classes
    ScoobiUserArgs
  48. def isClusterOnly: Boolean

    returns

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

    Definition Classes
    ScoobiUserArgs
  49. def isHadoopConfigured: Boolean

    returns

    true if there are some configuration directories for hadoop

    Definition Classes
    ScoobiAppConfiguration
  50. def isInMemory: Boolean

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

    Definition Classes
    Any
  52. def isLocal: Boolean

    Definition Classes
    ScoobiUserArgs
  53. def isLocalOnly: Boolean

    alias for locally

    alias for locally

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

    returns

    the list of library jars to upload

    Definition Classes
    LibJars
  55. def jobTracker: String

    returns

    the jobtracker address

    Definition Classes
    ClusterConfigurationCluster
  56. def keepFiles: Boolean

    returns

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

    Definition Classes
    ScoobiUserArgsScoobiArgs
  57. def level: Level

    returns

    the log level to use when logging

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

    returns

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

    Definition Classes
    LibJars
  59. 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

    Definition Classes
    ScoobiAppScoobiUserArgsScoobiArgs
  60. 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
  61. 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

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

    Definition Classes
    AnyRef
  63. def noLibJars: Boolean

    returns

    false if libjars are used

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

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

    Definition Classes
    AnyRef
  66. 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
  67. 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
  68. 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
  69. def parseHadoopArguments(arguments: Array[String]): Unit

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

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

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

    Persisting

    Persisting

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

    allow to call list.persist

    allow to call list.persist

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

    allow to call object.persist

    allow to call object.persist

    Definition Classes
    Persist
  75. def quiet: Boolean

    returns

    true to suppress log messages

    Definition Classes
    ScoobiUserArgsScoobiArgs
  76. 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
  77. 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
  78. 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
  79. 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
  80. 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
  81. 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
  82. 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
  83. def run[T1, T2, T3](p1: Persistent[T1], p2: Persistent[T2], p3: Persistent[T3])(implicit configuration: ScoobiConfiguration): (T1, T2, T3)

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

    Definition Classes
    Persist
  85. 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
  86. def runInMemory[T](t: ⇒ T): T

    returns

    the result of the in-memory run

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

    returns

    the cluster evaluation of t

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

    returns

    the result of the local run

    Definition Classes
    LocalHadoop
  89. 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

  90. var scoobiArguments: Seq[String]

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

    set the default configuration, depending on the arguments

    set the default configuration, depending on the arguments

    Definition Classes
    ScoobiAppConfiguration
  92. 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
  93. def showPlanOnly: Boolean

    returns

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

    Definition Classes
    ScoobiUserArgsScoobiArgs
  94. 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
  95. def showTimes: Boolean

    returns

    true to display execution times for each job

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

    Definition Classes
    AnyRef
  97. lazy val sysProps: SystemProperties

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

    Definition Classes
    AnyRef → Any
  99. 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
  100. 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
  101. def uploadedJars(implicit configuration: ScoobiConfiguration): Seq[Path]

    returns

    the remote jars currently on the cluster

    Definition Classes
    LibJars
  102. def useHadoopConfDir: Boolean

    returns

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

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

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  107. 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