这是我对2个特定列所做的操作:
dataSet.withColumn("colName", concat(dataSet.col("col1"), lit(","),dataSet.col("col2") ));
但dataSet.columns()
重新运行Sting数组,而不是Column数组。我应该如何烧饼List<Column>
?
谢谢!
Java具有更详细的语法。试试这个 -
df.withColumn("colName",concat_ws(",", toScalaSeq(Arrays.stream(df.columns()).map(functions::col).collect(Collectors.toList()))));
使用以下实用工具将Java列表转换为Scala seq-
<T> Buffer<T> toScalaSeq(List<T> list) {
return JavaConversions.asScalaBuffer(list);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句