Exception in thread "main" java.lang.VerifyError: class scala.collection.mutable.WrappedArray overrides final method toBuffer.()Lscala/collection/mutable/Buffer;
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.apache.spark.SparkConf.loadFromSystemProperties(SparkConf.scala:73)
at org.apache.spark.SparkConf.(SparkConf.scala:68)
at org.apache.spark.SparkConf.(SparkConf.scala:55)
at SessionStat$.main(SessionStat.scala:21)
at SessionStat.main(SessionStat.scala)
object SessionStat {
def main(args: Array[String]): Unit = {
//获取筛选条件
val jsonStr = ConfigurationManager.config.getString(Constants.TASK_PARAMS)
//获取筛选条件对应的JsonObject
val taskParam = JSONObject.fromObject(jsonStr)
//创建全局唯一的主键
val taskUUID = UUID.randomUUID().toString
//创建sparkSession
val sparkConf = new SparkConf().setAppName("session").setMaster("local[*]")
//创建sparkSession(包含SparkContext)
val sparkSession = SparkSession.builder().config(sparkConf).enableHiveSupport().getOrCreate()
//获取原始的动作表数据
//actionRDD:RDD[UserVisit]
val actionRDD = getOriActionRDD(sparkSession,taskParam)
actionRDD.foreach(println(_))
}
def getOriActionRDD(sparkSession: SparkSession, taskParam: JSONObject) = {
//获取查询时间的开始时间
val startDate = ParamUtils.getParam(taskParam,Constants.PARAM_START_DATE)
//获取查询时间的结束时间
val endDate = ParamUtils.getParam(taskParam,Constants.PARAM_END_DATE)
//查询数据
val sql = "select * from user_visit_action where date >='"+startDate+"' and date <='"+endDate+"'"
import sparkSession.implicits._
sparkSession.sql(sql).as[UserVisitAction].rdd
}
}