【问题标题】:Spark java dataframe increment colSpark java数据帧增量col
【发布时间】:2021-12-06 04:26:25
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: java apache-spark apache-spark-dataset


    【解决方案1】:

    我解决了这个问题首先我创建了 Integer maxValue = 0 ;在第二次运行时,我从保存的数据集中提取了最大 id 值并将其写入 maxValue。接下来我写了代码: dataset = dataset.withColumn("id", functions.row_number().over(Window.orderBy("columnName")).plus(functions.lit(maxValue)));

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-20
      • 2020-11-07
      • 1970-01-01
      • 1970-01-01
      • 2017-12-30
      • 2016-09-15
      相关资源
      最近更新 更多