2017-07-06 46 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

如果這有效,你可以接受作爲答案嗎? –

相關問題