- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
输入:
val customers = sc.parallelize(List(("Alice", "2016-05-01", 50.00,4),
("Alice", "2016-05-03", 45.00,2),
("Alice", "2016-05-04", 55.00,4),
("Bob", "2016-05-01", 25.00,6),
("Bob", "2016-05-04", 29.00,7),
("Bob", "2016-05-06", 27.00,10))).
toDF("name", "date", "amountSpent","NumItems")
// Import the window functions.
import org.apache.spark.sql.expressions.Window
import org.apache.spark.sql.functions._
// Create a window spec.
val wSpec1 = Window.partitionBy("name").orderBy("date").rowsBetween(-1, 1)
// Calculate the sum of spent
customers.withColumn("sumSpent",sum(customers("amountSpent")).over(wSpec1)).show()
+-----+----------+-----------+--------+--------+
| name| date|amountSpent|NumItems|sumSpent|
+-----+----------+-----------+--------+--------+
|Alice|2016-05-01| 50.0| 4| 95.0|
|Alice|2016-05-03| 45.0| 2| 150.0|
|Alice|2016-05-04| 55.0| 4| 100.0|
| Bob|2016-05-01| 25.0| 6| 54.0|
| Bob|2016-05-04| 29.0| 7| 81.0|
| Bob|2016-05-06| 27.0| 10| 56.0|
+-----+----------+-----------+--------+--------+
// Calculate the sum of items
customers.withColumn( "sumItems",
sum(customers("NumItems")).over(wSpec1) ).show()
+-----+----------+-----------+--------+--------+
| name| date|amountSpent|NumItems|sumItems|
+-----+----------+-----------+--------+--------+
|Alice|2016-05-01| 50.0| 4| 6|
|Alice|2016-05-03| 45.0| 2| 10|
|Alice|2016-05-04| 55.0| 4| 6|
| Bob|2016-05-01| 25.0| 6| 13|
| Bob|2016-05-04| 29.0| 7| 23|
| Bob|2016-05-06| 27.0| 10| 17|
+-----+----------+-----------+--------+--------+
最佳答案
目前,我想,不可能使用 Window 函数更新多列。你可以表现得好像它同时发生在下面
val customers = sc.parallelize(List(("Alice", "2016-05-01", 50.00,4),
("Alice", "2016-05-03", 45.00,2),
("Alice", "2016-05-04", 55.00,4),
("Bob", "2016-05-01", 25.00,6),
("Bob", "2016-05-04", 29.00,7),
("Bob", "2016-05-06", 27.00,10))).
toDF("name", "date", "amountSpent","NumItems")
import org.apache.spark.sql.expressions.Window
import org.apache.spark.sql.functions._
// Create a window spec.
val wSpec1 = Window.partitionBy("name").orderBy("date").rowsBetween(-1, 1)
var tempdf = customers
val colNames = List("amountSpent", "NumItems")
for(column <- colNames){
tempdf = tempdf.withColumn(column+"Sum", sum(tempdf(column)).over(wSpec1))
}
tempdf.show(false)
+-----+----------+-----------+--------+--------------+-----------+
|name |date |amountSpent|NumItems|amountSpentSum|NumItemsSum|
+-----+----------+-----------+--------+--------------+-----------+
|Bob |2016-05-01|25.0 |6 |54.0 |13 |
|Bob |2016-05-04|29.0 |7 |81.0 |23 |
|Bob |2016-05-06|27.0 |10 |56.0 |17 |
|Alice|2016-05-01|50.0 |4 |95.0 |6 |
|Alice|2016-05-03|45.0 |2 |150.0 |10 |
|Alice|2016-05-04|55.0 |4 |100.0 |6 |
+-----+----------+-----------+--------+--------------+-----------+
关于scala - Spark Scala : moving average for multiple columns,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44783237/
我正在努力寻找平均列的正确语法。我所拥有的——来自 RavenDB Studio 编辑器: map : from area in docs.Level5_AdministrativeAreas sel
double average = LongStream .of(-4480186093928204294L, -1340542863544260591L, -600429628624003927
我在 MySQL 表中有梦幻足球联赛的数据。我想查询一个 php 页面的数据。 我如何创建一个查询来计算球队得分与该特定年份联盟平均得分的比较? 我的(简化的)数据表如下所示: 游戏 table :
干杯,伙计们。我被要求让这段代码在学习挑战中发挥作用,但我不确定如何处理“array.average()”部分,因为它不是一个函数。 我被问到的是: var array = [5,44,23,11,5
我刚刚开始学习 Java 中的数据结构和算法(从数组开始)。我有两个问题。 在我看来,算法执行中的“步骤”是实际上是算法访问的数组的位置。因为他们说数组中的插入一步发生,因为数据项被简单地插入到第一个
嗨,我正在使用谷歌分析 api gapi查找网站的“平均 session 持续时间”和“每次访问浏览的平均页面” 我为此创建了一个仪表板,其值为 00:02:30和 4.58分别 ... 我使用以下代
SELECT username, (SUM(rating)/count(*)) as TheAverage, count(*) as TheCount FROM ratings WHERE month
在 Office Excel AVERAGE 函数示例中,参数始终使用逗号作为分隔符。但是,AVERAGE(A2:C2 B1:B10) 在 Excel 中也有效。 我的问题:有什么区别以及为什么?谢谢
我的代码: name = ["AAAAA 4 2 1 2 4 2 4 4 5 2 2 1 5 2 4 3 1 1 3 3 5", "BBB 5 2 1 2 4 5 4 4 1 2 2 2 4 4
我一直在探索适用于 Android 的 Firebase Analytics,发现控制台的仪表板显示用户参与事件,该事件显示平均屏幕时间,如“hh:mm:ss”,还通过获取以下总和来显示“值”参数的平
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
我使用维基百科文章中定义的折叠更改: http://en.wikipedia.org/wiki/Fold_change 我现在处理倍数变化已经有一段时间了,但从来没有真正需要计算我所有倍数变化的平均倍
这仅与编程相关 - 与颜色及其表示有更多关系。 我正在开发一个非常底层的应用程序。我在内存中有一个字节数组。那些是字符。它们是用抗锯齿渲染的:它们的值从 0 到 255,0 表示完全透明,255 完全
我正在尝试在用户界面中实现一个监视器,该监视器显示由海龟品种(海龟自己)共享的变量的平均值。有谁知道收集所有值的方法,将它们加在一起并除以海龟的数量以获得值或知道更简单的方法? 最佳答案 如果每只海龟
我试图在我的 OpenGL 程序中将骨架动画从矩阵切换到四元数,但我遇到了一个问题: 给定多个单位四元数,我需要得到一个四元数,当用于变换向量时,将给出一个向量,该向量是每个四元数单独变换的向量的平均
输入: Clickhouse 表A business_dttm(日期时间) 金额( float ) 我需要在每个 business_dttm 上计算 15 分钟(或最后 3 条记录)的移动总和 例如
我正在尝试找到一种方法来计算移动累积平均值,而不存储迄今为止收到的计数和总数据。 我想出了两种算法,但都需要存储计数: 新平均值 = ((旧计数 * 旧数据) + 下一个数据)/下一个计数 新平均值
在我的 SQL 脚本中,我想标准化来自这样的子查询的值 select y/avg(y) from ( select x*z as y from test_table )T 我知道这个解决方案会起
由于 Controller 损坏,文件在从 USB 闪存驱动器下载时会随机损坏。我下载了同一个文件的多个副本,每个副本的错误似乎通常是唯一且随机的。 因此,我需要一个脚本来比较同一文件的几个(3 到
我正在尝试解决一个非常简单的算法分析(显然对我来说不是那么简单)。 算法是这样的: int findIndexOfN(int A[], int n) { // this algorithm looks
我是一名优秀的程序员,十分优秀!