У меня есть набор данных, который я пытаюсь сгладить с помощью scala.
+---------+-----------+--------+
|visitorId|trackingIds|emailIds|
+---------+-----------+--------+
| a | 666b| 12|
| 7 | c0b5| 45|
| 7 | c0b4| 87|
| a | 666b,7p88| |
+---------+-----------+--------+
Я пытаюсь получить фрейм данных, сгруппированный по идентификатору посетителя.Ниже приведен формат
+---------+---------------------+--------+
|visitorId| trackingIds |emailIds|
+---------+---------------------+--------+
| a | 666b,666b,7p88| 12,87|
| 7 | c0b4,c0b5 | 45|
+---------+---------------------+--------+
Мой код:
object flatten_data{
def main(args: Array[String]): Unit = {
val spark = SparkSession
.builder()
.master("local[5]")
.appName("Flatten_DF")
.enableHiveSupport()
.getOrCreate()
val df = spark.read.format("csv")
.option("header","true")
.option("delimiter",",")
.load("/home/cloudera/Desktop/data.txt")
print(df.show())
val flattened = df.groupBy("visitorID").agg(collect_list("trackingIds"))
}
}
Я использую IntelliJ Idea и получаю сообщение об ошибке в "collect_list".Я прочитал много решений по stackoverflow, где люди спрашивали о том, как сгладить и groupbykey и использовали один и тот же collect_list.Я не уверен, почему это не работает для меня.Это из-за IntelliJ?