当前位置:   article > 正文

pyspark之Structured Streaming window函数-滑动模式_pyspark structured streaming dataset groupby(

pyspark structured streaming dataset groupby() functions.window()
  1. # window函数滑动类型主要可能使用场景如:流量控制,资源保护等,可以明确获知某个时间段内具体数量,了解具体流量高峰数据,如果参数windowDuration和slideDuration一致,则即滚动类型,如果windowDuration大于slideDuration,则存在重复数据计算
  2. # 数据依旧采用前面文章中的generate_log生成数据
  3. from pyspark.sql import SparkSession
  4. from pyspark.sql.functions import split,lit,window
  5. DATA = "/opt/software/tmp/data"
  6. if __name__ == '__main__':
  7. spark = SparkSession.buider.getOrCreate()
  8. lines = spark.readStream.format("text").option("seq","\n").load(DATA)
  9. userinfo = lines.select(split(lines.value," ").alias("info"))
  10. # 第一个为eventtime 第二个为name 第三个为province 第四个为action
  11. # userinfo['info'][0]等同于userinfo['info'].getIterm(0)
  12. user = userinfo.select(from_unixtime(userinfo['info'][0]).alias('eventtime'),
  13. userinfo['info'][1].alias('name'),userinfo['info'][2].alias('province'),
  14. userinfo['info'][3].alias('action'))
  15. windowDuration = "5 minutes"
  16. slideDuration = "1 minutes"
  17. provinceCounts = user.groupBy("province",window('eventtime',windowDuration=windowDuration,slideDuration=slideDuration)).count()
  18. provinceCounts.writeStream.outputMode("complete").format("console").trigger(processingTime="30 seconds").start().awaitTermination()

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/709912
推荐阅读
相关标签
  

闽ICP备14008679号