Я есть набор данных в формате CSV, что я хочу, чтобы обработать с помощью Спарк, второй столбец этого формата:Invert карта и reduceByKey в Спарк-Scala
гггг-мм-дд чч: мм: сс
Я хочу, чтобы сгруппировать каждый ММ-ДД
val days : RDD = sc.textFile(<csv file>)
val partitioned = days.map(row => {
row.split(",")(1).substring(5,10)
}).invertTheMap.groupOrReduceByKey
результат groupOrReduceByKey
имеет вид:
("MM-dd" -> (row1, row2, row3, ..., row_n))
Как шо uld I реализовать invertTheMap
и groupOrReduceByKey
?
Я видел это в Python here, но мне интересно, как это делается в Scala?
Посмотрите на org.apache.spark.sql.SQLContext, чтобы сделать работу с томами CSV проще – Simon