摘要: def getIQR(df:DataFrame,colName:String):Array[Double]={ val tmpDf = df.withColumn(colName, col(colName).cast(DoubleType)) val stats = tmpDf.stat.appro 阅读全文
posted @ 2021-07-17 17:55 real-zhouyc 阅读(214) 评论(0) 推荐(0) 编辑
摘要: val aggCols = List("Pclass","Age","Fare") .map(colName=>functions.avg(colName).as("avg_"+colName)) df.groupBy("Survived").agg(aggCols.head,aggCols.tai 阅读全文
posted @ 2021-07-17 17:49 real-zhouyc 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 有时候会遇到这样的场景:有一个datafram,我们需要计算同一组对象中,前后两条记录之间的差值,此处并不仅限于时间,还可以是其他的数据类型 需要用到两个工具:spark窗口函数Window对对象分组以及lag函数 val df = Seq( ("notebook","2019-01-01 00:0 阅读全文
posted @ 2021-07-17 12:06 real-zhouyc 阅读(2032) 评论(0) 推荐(0) 编辑
摘要: 可以通过scala中的流处理,生成指定范围内的日期list import java.time.LocalDate def dateStream(fromDt:LocalDate):Stream[LocalDate]={ fromDt #::dateStream(fromDt.plusDays(1)) 阅读全文
posted @ 2021-07-17 11:22 real-zhouyc 阅读(465) 评论(0) 推荐(0) 编辑