У меня есть набор данных, и я хочу добавить к нему новый столбец. Я хочу заполнить новый столбец значениями из массива / списка, чтобы первая строка в наборе данных имела значение в новом столбце в качестве первого индекса массива / списка, вторая строка имела значение в новом столбце в качестве второго индекса массива / списка и т. Д. on.
Это код, который я использовал
SparkSession spark = SparkSession
.builder()
.appName("test")
.master("local")
// .enableHiveSupport()
.getOrCreate();
//preparing the dataset
List<String> data = Arrays.asList("abc", "abc", "xyz");
Dataset<String> dataDs = spark.createDataset(data, Encoders.STRING());
dataDs.show();
//adding to new column
List<String> columns=new ArrayList<String>();
columns.add("1");
columns.add("2");
columns.add("3");
dataDs.withColumn("spanish_hi", functions.array(columns.stream().map(functions::col).toArray(Column[]::new)))
.show();
Я также пытался использовать список (как в примере выше), а также пытался использовать functions.lit (), но Кажется, это только для постоянных значений. Я застрял с этим с прошлого вечера, поэтому буду благодарен, если кто-нибудь сможет мне помочь в этом.