Есть ли удобный способ отладки для программы Spark? - PullRequest
0 голосов
/ 30 января 2020

Когда я выполнял домашнюю работу нашего класса с моим партнером, я обнаружил, что его программа, использующая спарк, имеет проблемы при выполнении:

import org.apache.spark.SparkContext

import scala.math.random

object PropertyInvestmentCalcs {
  def main(args: Array[String]) {

    val conf = new SparkConf().setMaster("spark://xxxxxx").setAppName("ID2015012134")

    val spark = new SparkContext(conf)


    //val rdd = spark.textFile("/home/Zhejing/Programs/Benchmarks/src/dataset/salaryEx.csv")
    val rdd = spark.textFile("/User/2015012134/Hw5/salary.csv")

    //..... many other code unrelated

    val data = rdd.map{ s =>
      val a = s.split(",")
      for (i <- 1 to a(3).toInt) { //for (i<-1 to 100) {
        a(2) = (a(2).toFloat * (1 + a(4).toFloat)).toString
        a(9) = i.toString
        if (a(2).toFloat>1000000000) {
          a(10) = "billionaire"
        }
    }
    a
    }


    print(data)

    spark.stop()
  }
}

Программа отлично работает для большинства данных, вычисляя доход после нескольких лет на основе ставки и запуска. Тем не менее, ввод строки имеет только 9 ",", это означает, что нет (10) и получить исключение, когда есть миллиардер. Я заканчиваю sh отладку, но нахожу это действительно неудобным, поскольку каждый раз, когда вам нужно загрузить свой код на сервер и ждать действительно очень долгое время. Есть ли другой удобный способ для искровой отладки?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...