首页 > 解决方案 > 有什么方便的方法来调试 Spark 程序吗?

问题描述

当我和我的伙伴一起做我们班的作业时,我发现他使用spark的程序在执行时有问题:

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个“,”,也就是说没有a(10),当有亿万富翁时会出现异常。我完成了调试,但发现它真的很不方便,因为每次您需要将代码上传到服务器并等待很长时间。有没有其他方便的火花调试方法?

标签: apache-spark

解决方案


推荐阅读