如何在Spark 2.0和scala中迭代DataSet?我的问题是 - 我需要比较两行。我需要比较DateN和DateN-1并计算差异。
Row1 - Date1 Num1
Row2 - Date2 Num2
..
RowN- DateN NumN
答案 0 :(得分:0)
不确定,您是否使用窗口功能解决了问题,因为您只想比较n& n-1行,我没有看到您要对数据进行分组的属性。对于您描述的要求,您可以按如下方式解决问题:
以下是工作示例:
val spark = SparkSession
.builder
.appName("Example")
.master("local[*]")
.getOrCreate()
import spark.implicits._
val customers = spark.sparkContext.parallelize(List(("Alice", "2016-05-01", 50.00),
("Alice", "2016-05-03", 45.00),
("Alice", "2016-05-04", 55.00),
("Bob", "2016-05-01", 25.00),
("Bob", "2016-05-04", 29.00),
("Bob", "2016-05-06", 27.00)))
val custIndexed = customers.zipWithIndex().collect()
val custOdd = custIndexed.filter(record=>record._2%2!=0)
val custEven = custIndexed.filter(record=>record._2%2==0)