Добавьте новый столбец в набор данных и заполните его значениями в массиве, используя Java spark - PullRequest
1 голос
/ 31 марта 2020

У меня есть набор данных, и я хочу добавить к нему новый столбец. Я хочу заполнить новый столбец значениями из массива / списка, чтобы первая строка в наборе данных имела значение в новом столбце в качестве первого индекса массива / списка, вторая строка имела значение в новом столбце в качестве второго индекса массива / списка и т. Д. 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 (), но Кажется, это только для постоянных значений. Я застрял с этим с прошлого вечера, поэтому буду благодарен, если кто-нибудь сможет мне помочь в этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...