Hi,all
我在idea中编写Spark程序,使用Maven编译会报错,但是将这段报错的代码贴到Spark-shell中能正常执行。这个问题很奇怪,求各位大神帮忙看下!
spark-shell中执行效果
使用Maven编译的报错结果信息
代码如下:
case class ontime_table_schema(ratio: Double, score: Int)
//准时率配置表
val ontime_table_arr = Array(
Array(0.00, 0),
Array(0.90, 80),
Array(0.97, 120)
)
//生成准时率DataFrame
val ontime_table_rdd = sc.parallelize(ontime_table_arr)
val ontime_table_df = ontime_table_rdd.map(p => ontime_table_schema(p(0), p(1).toInt)).toDF()
toDF不是RDD类型的方法,在shell中能用,说明是经过隐试转换的。
spark-shell中你可以看下当前scope下的隐试转换:
找到隐试转换之后,import到你的代码里应该就可以了