如何在Spark Java中将具有值的列添加到新的数据集?

Jua*_*uño 6 java dataset bigdata apache-spark apache-spark-dataset

所以,我正在从Java Spark API创建一些数据集.这些数据集使用spark.sql()方法从hive表填充.

因此,在执行一些sql操作(如连接)之后,我有一个最终的数据集.我想要做的是,我想为最终数据集添加一个新列,数据集中的所有行的值为"1".因此,您可能会将其视为向数据集添加约束.

所以,例如我有这个数据集:

Dataset<Row> final = otherDataset.select(otherDataset.col("colA"), otherDataSet.col("colB"));
Run Code Online (Sandbox Code Playgroud)

我想在"最终"数据集中添加一个新列,就像这样

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

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

Sha*_*ala 13

如果要添加常量值,则可以使用点亮功能

lit(Object literal)
Creates a Column of literal value.
Run Code Online (Sandbox Code Playgroud)

此外,将变量名称final更改为其他内容

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


Dataset<Row> result = final12.withColumn("columnName", lit(1)) 
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!