Я пытаюсь использовать println для печати вывода в определенном формате, но не могу получить.
val vgdataLines = sc.textFile("hdfs:///user/ashhall1616/bdc_data/assignment/t1/vgsales-small.csv")
val vgdata = vgdataLines.map(_.split(";"))
val countPublisher = vgdata.map(r => (r(4),1))
val totalcount= countPublisher.count().toInt
val reducePublisher = countPublisher.reduceByKey(_+_)
def toPercentage(x: Int): Double = {x * 100/totalcount}
val top50 = countPublisher.map(r => (r._1, r._2, toPercentage(r._2)))
val top50desc= top50.sortBy(_._2, false)
println(top50desc.take(50))
Ожидаемый формат вывода:
(Ubisoft, 3,15.0)
(Activision, 3,15.0)
(Electroni c Arts, 2,10.0)
(Nintendo, 2,10.0)
(Признание Развлечения, 1,5,0)
(Sega, 1,5,0)
(3DO, 1,5,0)
(Namco Bandai Games, 1,5,0)
Формат, который я получаю: res1: Array [(String, Int, Double)] = Array ((Sony Computer Entertainment, 1,5.0), (Activision, 1,5.0), (Nintendo, 1,5.0), ( Activision, 1,5,0), (Nintendo, 1,5,0), (3DO, 1, 5,0), (Sega, 1,5,0), (TDK Mediactive, 1,5,0), (Capcom, 1,5,0), (Atari , 1,5,0), (Konami Digital Entertainment, 1,5,0), (Namco Bandai Games, 1,5,0), (Electroni c Arts, 1,5,0), (Kalypso Media, 1,5,0), (Ubisoft, 1,5.0), (Ubisoft, 1,5.0), (Electroni c Arts, 1,5.0), (Ubisoft, 1,5.0), (Acclaim Entertainment, 1,5.0), (Activision, 1,5.0))
Это когда я использую top50des c .take (50) вместо println (чтобы p50des c. взять (50))