java面试题网站:www.javaoffers.com
在写sparksql的时候出现一个错:
var sdf = new SimpleDateFormat("yyyy-MM-dd")
var sf = new SparkConf().setMaster("local").setAppName("bill")
var sc = new SparkContext(sf)
val sqlContext = new SQLContext(sc)
import sqlContext.implicits._
var personRDD = sc.textFile("").map(line=>{
var log = line.split(" ")
var birthday = sdf.parse(log(2))
new Person(log(0).toInt,log(1).toString,birthday,log(3).toInt) //这里的类 要用case修饰
})
var df = personRDD.toDF()//这里会报cannot resolve symbol toDF
解决 这个问题:
第一:导入隐式装换
import sqlContext.implicits._
第二:检查你即将调用toDF()方法的rdd 返回的 类型是否是用case 修饰,我这里的Person类 要用case修饰