07 2021 档案
摘要:有时候,需要将从json文件读取程序配置设置,并同步到定义好的一些case类中,这个时候可以使用 io.circe解析json文件,并同步文件字段到定义好的case类 case class Config( comment:String, dir:String, executors:Option[In
阅读全文
摘要:def getIQR(df:DataFrame,colName:String):Array[Double]={ val tmpDf = df.withColumn(colName, col(colName).cast(DoubleType)) val stats = tmpDf.stat.appro
阅读全文
摘要:val aggCols = List("Pclass","Age","Fare") .map(colName=>functions.avg(colName).as("avg_"+colName)) df.groupBy("Survived").agg(aggCols.head,aggCols.tai
阅读全文
摘要:有时候会遇到这样的场景:有一个datafram,我们需要计算同一组对象中,前后两条记录之间的差值,此处并不仅限于时间,还可以是其他的数据类型 需要用到两个工具:spark窗口函数Window对对象分组以及lag函数 val df = Seq( ("notebook","2019-01-01 00:0
阅读全文
摘要:可以通过scala中的流处理,生成指定范围内的日期list import java.time.LocalDate def dateStream(fromDt:LocalDate):Stream[LocalDate]={ fromDt #::dateStream(fromDt.plusDays(1))
阅读全文
摘要:Dataframe Array数据类型处理 简单处理 var simpleArrayDF = Seq(("beatles", "help,hey jude,some time"), ("romeo", "eres mia,hahah,check") ).toDF("name","songs") si
阅读全文