《Spark商业案例与性能调优实战100课》第13课:商业案例之纯粹通过DataSet进行电商交互式分析系统中特定时段段访问次数TopN
明晚起课程频道改变,只有加入课程的学员才可以听课。
import org.apache.spark.sql.functions._
第一个作业:通读functions.scala的源代码
第二个作业:手动造出数据
json 读入文件直接转换为dataSet
通用模式: join =〉groupby => agg =>sort => show
val userInfo=spark.read.format("json").json("Json file's path ...")
val userAccessLog=spark.read.format("json").json("Json file's path ...")
userAccessLog.filter("time >= 2017-1-1 and time <=2017-1-10")
.join(userInfo,userAccessLog("UserID")===userInfo("UserID"))
.groupby(usersInfo("UserID"),usersInfo("UserName"))
.agg(count(userAccessLog("time")).alias("userCount"))
.sort($"usercount".desc)
.limit(10)
.show()