随笔分类 -  spark编程

摘要:有时候,需要将从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)
摘要:有时候会遇到这样的场景:有一个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)
摘要:当需要merge多个spark datafame的时候: from functools import reduce buff = [] for pdfs in [pdf1, pdf1,pdf3...]: buff.append(pdfs) mergeDF = reduce(lambda x,y: x 阅读全文
posted @ 2020-06-26 16:43 real-zhouyc 阅读(2075) 评论(2) 推荐(1)