07 2021 档案

摘要:有时候,需要将从json文件读取程序配置设置,并同步到定义好的一些case类中,这个时候可以使用 io.circe解析json文件,并同步文件字段到定义好的case类 case class Config( comment:String, dir:String, executors:Option[In 阅读全文
posted @ 2021-07-21 23:12 real-zhouyc 阅读(314) 评论(0) 推荐(0)
摘要: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 阅读(236) 评论(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 阅读(79) 评论(0) 推荐(0)
摘要:有时候会遇到这样的场景:有一个datafram,我们需要计算同一组对象中,前后两条记录之间的差值,此处并不仅限于时间,还可以是其他的数据类型 需要用到两个工具:spark窗口函数Window对对象分组以及lag函数 val df = Seq( ("notebook","2019-01-01 00:0 阅读全文
posted @ 2021-07-17 12:06 real-zhouyc 阅读(2107) 评论(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 阅读(486) 评论(0) 推荐(0)
摘要:Dataframe Array数据类型处理 简单处理 var simpleArrayDF = Seq(("beatles", "help,hey jude,some time"), ("romeo", "eres mia,hahah,check") ).toDF("name","songs") si 阅读全文
posted @ 2021-07-08 23:07 real-zhouyc 阅读(98) 评论(0) 推荐(0)