Run Object notebook in Databricks

Viewed 485

I am trying to execute this code on databricks in scala. Everything is in an object, then I have a case class and def main and other def functions.

Trying to work with "package cells" but I got Warning: classes defined within packages cannot be redefined without a cluster restart. Compilation successful.

removing the object didn't work either

package x.y.z

import java.util.Date
import java.io.File
import java.io.PrintWriter
import org.apache.hadoop.fs.{FileSystem, Path}

object Meter {
  val dateFormat = new SimpleDateFormat("yyyyMMdd")

  case class Forc (cust: String, Num: String, date: String, results: Double)

  def main(args: Array[String]): Unit = {

    val inputFile = "sv" //  
    val outputFile = "ssv" // 
    val fileSystem = getFileSystem(inputFile)
    val inputData = readLines(fileSystem, inputFile, skipHeader = true).toSeq
    val filtinp = inputData.filter(x => x.nonEmpty)
      .map(x => Results(x(6), x(5), x(0), x(8).toDouble))

  def getTimestamp(date: String): Long = dateFormat.parse(date).getTime

  def getDate(timeStampInMills: Long): String = {
    val time = new Date(timeStampInMills)
    dateFormat.format(time)
  }

  def getFileSystem(path: String): FileSystem = {
    val hconf = new Configuration() 
    new Path(path).getFileSystem(hconf)
  }

      override def next(): String = {
        val result = line
        line = inputData.readLine()
        if (line == null) {
          inputData.close()
        }
        result
      }
    }
  }
}
0 Answers
Related