微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何为特定行的数据集中的现有列添加值

如何解决如何为特定行的数据集中的现有列添加值

"ds" 是具有现有列 inpMap 的数据集类型。需要知道如何将特定行的值添加到数据集的这一列

 for (int i = 0; i < size; i++){
        
                         String propMap = "abc";
        
                         if(propMap != null){
                             String inpMap = colMap.get(propMap); // where colMap is dictionary
                             ds= ds.withColumn(inpMap,"test"); // ??? how to do here...as withCol adds new col. And I have this col existing in "ds" Dataset.
                         }
                     }

解决方法

使用 Spark 时,最好尝试可视化创建列而不是行的转换。这使得构建逻辑更容易。

根据您的代码,我假设变量 "propMap" 是不变的。您只需按如下方式编写转换:

import org.apache.spark.sql.functions.lit;

String inpMap = colMap.get(propMap);
dsWithTestColumn = ds.withColumn("test",lit(inpMap));

另外,我假设您将 Java API 与 Apache Spark 一起使用。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。