因此,我从java Spark API创建了一些数据集。这些数据集是使用spark.sql()方法从hive表填充的。
因此,在执行了一些sql操作(比如joins)之后,我就有了一个最终的数据集。我想要做的是向最终数据集中添加一个新列,该数据集中的所有行的值都为"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的Dataset的所有行中?
发布于 2017-07-07 03:37:40
如果你想添加一个常量值,那么你可以使用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))
希望这能有所帮助!
https://stackoverflow.com/questions/44957197
复制相似问题