apache-spark - 有什么方便的方法来调试 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),当有亿万富翁时会出现异常。我完成了调试,但发现它真的很不方便,因为每次您需要将代码上传到服务器并等待很长时间。有没有其他方便的火花调试方法?
解决方案
推荐阅读
- npm - 这个错误是什么意思?使用 `useBuiltIns` 选项,需要直接设置 `corejs` 选项
- typescript - TypeScript 通过其值类型缩小可索引类型的键
- node.js - 使用来自 Get 请求的响应来创建新请求
- ios - 在 tableview 单元格内滚动
- javascript - 如何通过从文件中读取坐标自动画线?
- json - 加载 Chrome 扩展程序失败
- reactjs - 组件未在 setState React 上重新渲染
- php - 多用户登录表单 PHP
- c++ - 模板推导和重载
- r - 带有 tidyverse 的 R 数据表:根据包含特定字符串的单元格下方的条件,查找、重定位和重命名未知的 nr 行