Java 如何通过在for循环中更新数据集的列值来更新数据集?

Java 如何通过在for循环中更新数据集的列值来更新数据集?,java,apache-spark,Java,Apache Spark,我想在列列表上循环,如果满足某个条件,那么我想用NaN更改当前列的值,但用我尝试过的方法(如下),我用以前的数据集覆盖,而不是更新满足该条件的最后一个数据集: for (String att: listAtts) { datasetInit = ... resDf = datasetInit; if (condition) { resDf = resDf.withColumn(att,lit(&

我想在列列表上循环,如果满足某个条件,那么我想用
NaN
更改当前列的值,但用我尝试过的方法(如下),我用以前的数据集覆盖,而不是更新满足该条件的最后一个数据集:

for (String att: listAtts) {
           datasetInit = ...
            resDf = datasetInit;
            if (condition) {
                resDf = resDf.withColumn(att,lit("NaN"));
...
我这里的问题是,对于每次迭代,
resDf
都会采用
datasetit
,这会擦除最后一次
resDf
更新。如何在JAVA中实现这一点


谢谢

我用以下方法解决了这个问题:

...
if (resDf.count == 0)
  resDf = datasetInit;
...
如果
resDf
至少更新了一次,则不分配
datasetit