2017-07-06 226 views
2

所以,我从java Spark API创建了一些数据集。这些数据集使用spark.sql()方法从配置单元表填充。如何在Spark Java中将具有值的列添加到新的数据集?

因此,执行一些sql操作(如联接)后,我有一个最终的数据集。我想要做的是我想为该最终数据集添加一个新列,对数据集中的所有行赋值“1”。因此,您可能会将其视为向数据集添加约束。

因此,例如我有这样的数据集:

Dataset<Row> final = otherDataset.select(otherDataset.col("colA"), otherDataSet.col("colB")); 

我想一个新的列添加到“最后”数据集,像这样

final.addNewColumn("colName", 1); //I know this doesn't work, but just to give you an idea. 

有没有一种可行的方法将新列添加到数据集的所有行,值为1?

谢谢!

回答

1

如果你想添加一个恒定值,那么你可以使用lit功能

lit(Object literal) 
Creates a Column of literal value. 

此外,变量名称更改最终别的东西

Dataset<Row> final12 = otherDataset.select(otherDataset.col("colA"), otherDataSet.col("colB")); 


Dataset<Row> result = final12.withColumn("columnName", lit(1)) 

希望这有助于!

+0

谢谢!这工作:D –

+0

如果这有效,你可以接受作为答案吗? –

相关问题