Concat столбцов в фрейме данных и создание нового столбца:
var new_df = df.withColumn("concat", concat($"protocol", lit(" : "), $"count"))
Чтобы объединить его в одну строку в виде списка, вы можете сделать это.
var new_df = new_df.groupBy().agg(collect_list("concat").as("aggregated"))
new_df.show
Если вы хотите получить данные в строку вместо фрейма данных, вы можете собрать их следующим образом.
new_df.select("concat").collect.map(x=> x.get(0)).mkString("{", ",", "}")