#java #apache-spark #apache-spark-sql
#java #apache-spark #apache-spark-sql
Вопрос:
Новое в Spark. Возможно ли добавить столбец индекса в существующий набор данных, который представляет собой комбинацию строки и текущего номера
Прямо сейчас я создаю динамический индекс с функцией monotonically_increasing_id
List<Employee> columns = Arrays.asList(new Employee("john" ,"Lead"), new Employee("Doe" ,"Master"));
dataset = dataset.withColumn("index",monotonically_increasing_id());
dataset = dataset.select(col("index"),col("name"),col("desc"));
index|name| desc|
----- ---- ------
| 0|john| Lead|
| 1| Doe|Master|
Хотелось бы иметь столбец индекса со строкой и номером индекса. что-то вроде приведенного ниже
index|name| desc|
----- ---- ------
| E0|john| Lead|
| E1| Doe|Master|
Ответ №1:
Вы можете использовать concat
для добавления a E
в начале:
dataset = dataset.select(concat(lit("E"), col("index")).alias("index"),col("name"),col("desc"));