Я использую spark- sql -2.4.1v с java8.
У меня есть Dynami c Список столбцов передается в мою функцию.
т.е.
List<String> cols = Arrays.asList("col_1","col_2","col_3","col_4");
Dataset<Row> df = //which has above columns plus "id" ,"name" plus many other columns;
Нужно выбрать cols + "id" + "name"
Я делаю, как показано ниже
Dataset<Row> res_df = df.select("id", "name", cols.stream().toArray( String[]::new));
это приводит к ошибке компиляции. Итак, как справиться с этим вариантом использования.
Пробовал:
Когда я делаю что-то вроде ниже:
List<String> cols = new ArrayList<>(Arrays.asList("col_1","col_2","col_3","col_4"));
cols.add("id");
cols.add("name");
Ошибка выдачи
Exception in thread "main" java.lang.UnsupportedOperationException
at java.util.AbstractList.add(AbstractList.java:148)
at java.util.AbstractList.add(AbstractList.java:108)