如何解决如何为特定行的数据集中的现有列添加值
"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 举报,一经查实,本站将立刻删除。