所以,我正在从Java Spark API创建一些数据集。这些数据集使用spark.sql()方法从hive表填充。
因此,在执行一些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?
答案 0 :(得分:11)
如果要添加常量值,可以使用lit函数
lit(Object literal)
Creates a Column of literal value.
另外,将变量名称final更改为其他
Dataset<Row> final12 = otherDataset.select(otherDataset.col("colA"), otherDataSet.col("colB"));
Dataset<Row> result = final12.withColumn("columnName", lit(1))
希望这有帮助!