Когда я выполнял домашнюю работу нашего класса с моим партнером, я обнаружил, что его программа, использующая спарк, имеет проблемы при выполнении:
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 отладку, но нахожу это действительно неудобным, поскольку каждый раз, когда вам нужно загрузить свой код на сервер и ждать действительно очень долгое время. Есть ли другой удобный способ для искровой отладки?