首页 > 解决方案 > Spark java数据帧增量col

问题描述

我正在尝试设置一个特定的 id 值,增量将从该值开始。第一次运行应用程序时,我需要生成一个默认值。而当我重新启动应用程序时,我需要设置初始 id 值。我需要增量继续,而不是从 0 或 1 开始。

我没有传递初始值的代码如下所示:

dataset = dataset.withColumn(id, functions.monotonicallyIncreasingId())

我也尝试过使用row_number函数,但我仍然不明白如何设置初始值。

标签: javaapache-sparkapache-spark-dataset

解决方案


I solved this problem First I created Integer maxValue = 0 ; On the second run, I pulled the maximum id value from the saved dataset and wrote it into maxValue. Next I wrote the code: dataset = dataset.withColumn("id", functions.row_number().over(Window.orderBy("columnName")).plus(functions.lit(maxValue)));


推荐阅读