Как добавить столбец со значением в новый набор данных в Spark Java?

Итак, я создаю несколько наборов данных из Java Spark API. Эти наборы данных заполняются из таблицы кустов с помощью метода spark.sql ().

Итак, после выполнения некоторых операций 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?


person Juan Carlos Nuño    schedule 06.07.2017    source источник


Ответы (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)) 

Надеюсь это поможет!

person koiralo    schedule 06.07.2017