Pyspark 如何对变量做累计增量运算
来源:互联网 发布:浪拍云的淘宝人生 编辑:程序博客网 时间:2024/05/16 08:25
因为工作缘故要接触pyspark做线上分布式数据处理,每当在开发过程中遇到的问题,上网查时,网上相关回答的资料相对较少,所以作者以自己遇到的问题以及其解决方法做一个总结和分享,帮助有相关需求的同学更快更方便地解决困难。
- 在上线项目实施中,不可避免要根据时间段(季度/月/天)做成本或者收入的累计增量计算,这里不一定要调用的pyspark函数语句,只需要用到简单的sql语句就可以满足这个需求。
当用spark.sql从hdfs调出需要的数据
df = spark.sql("select report_date, revenue, cost from (database_name)")**用spark.sql调出来的数据结构就直接是dataframe格式** 根据report_date计算出revenue 和 cost 的累计增量 ##df.registerTempTable("df_table")df_cum = df.sql("""select report_date , revenue , cost , sum(revenue) over (order by revenue, report_date) as revenue_cum , sum(cost) over (order by cost, report_date) as cost_cumfrom df_table""")
输出:
[Row(report_date='2017-03-02', revenue=4500, revenue_cum=4500, cost=3000, cost_cum=3000), Row(report_date='2017-03-03', revenue=5300, revenue_cum=9800, cost=4000, cost_cum=7000), Row(report_date='2017-03-04', revenue=6700, revenue_cum=15500, cost=5000, cost_cum=12000)]
阅读全文
0 0
- Pyspark 如何对变量做累计增量运算
- 利用临时变量对数据进行累计
- shell编程中对变量做算术运算
- 利用临时变量对每个分组的数据进行累计
- 累计投放贷款1000亿,马云是如何做银行的?
- Unity5 如何做资源管理和增量更新,unity5增量
- pyspark的RDD运算
- 如何对每天的数据进行累计计算和啊?
- Unity5 如何做资源管理和增量更新
- Unity5 如何做资源管理和增量更新
- Unity5 如何做资源管理和增量更新
- Unity5 如何做资源管理和增量更新
- Unity5 如何做资源管理和增量更新
- Unity5 如何做资源管理和增量更新
- Unity5 如何做资源管理和增量更新
- Unity5 如何做资源管理和增量更新
- 增量运算
- 安装第三方软件XtraBackup对数据做增量备份
- HDU 1556 Color the ball(树状数组-水题)
- Lintcode 拓扑排序
- JNI中java类型的简写
- Hibernate--HQL基础语法
- iOS 用RunTime重写KVO<附Demo>
- Pyspark 如何对变量做累计增量运算
- HDU 1754 I Hate It(线段树-水题,模板题)
- opencv对二值图像进行颜色反色操作
- 设计模式-生产者消费者模式 常见场景: 某个模块负责产生数据,这些数据由另一个模块来负责处理。产生数据的模块,就形象地称为生产者;而处理数据的模块,就称为消费者。 该模式还需要有一个缓冲区处于生
- subliem text 3编译C\C++
- 刷题 集合
- HDU 2795 Billboard(线段树-水题,模板题)
- 法国大革命(1789)
- 软件工程: 从java到放弃