val withOneDayts=userDataFrame.join(articleDataFrame,userDataFrame("cid")===articleDataFrame("id"),"left").drop(articleDataFrame("id")).drop(articleDataFrame("published_at"))
val frame = withOneDayts.withColumn("views", getViews(withOneDayts("timestamp"), withOneDayts("oneDay_ts"))).groupBy("cid").agg(sum("views"))
val with15MinViews = withOneDayts.withColumn("views", getViews(withOneDayts("timestamp"), withOneDayts("15_min_ts"))).groupBy("cid").agg(sum("views")).withColumnRenamed("sum(views)","views_in_15_min").drop("15_min_ts")
val with30MinViews = with15MinViews.withColumn("views",getViews(with15MinViews("timestamp"),with15MinViews("30_min_ts"))).groupBy("cid").agg(sum("views")).withColumnRenamed("sum(views)","views_in_30_min").drop("30_min_ts")