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