首页 > 解决方案 > 如何在java中更新数据框的所有列

问题描述

在scala中,我们可以在下面的帮助下更新数据框的所有列

val outputDF = InputDF.select(InputDF.columns.map(c => toLower(col(c))):_*)

如何以不可变的方式处理 Java 中的上述场景?

标签: javaapache-spark

解决方案


这将是相同的:

inputDF.select(Arrays.stream(inputDF.columns()).map(c ->lower(col(c))).toArray(Column[]::new));

您也可以使用循环来执行此操作:

    Dataset outputDF = inputDF;
    for (String c : inputDF.columns()){
        outputDF = outputDF.withColumn(c, lower(col(c)));
    }

推荐阅读