Код API на основе RDI для чтения CSV-файла и преобразования его в кортежи:
# load data
movie_rating = sc.textFile('140419_Movie_Rating.csv')
# preprocess data -- only need ["userId", "movieId", "rating"]
header = movie_rating.take(1)[0]
rating_data = movie_rating \
.filter(lambda line: line!=header) \
.map(lambda line: line.split(",")) \
.map(lambda tokens: (int(tokens[0]), int(tokens[1]), int(tokens[2]))) \
.cache()
# check three rows
rating_data.take(3)
вывод:
[(6156680, 433441, 2), (6156680, 433400, 1), (6156680, 433400, 1)]
По сути, я читаю файл CSV с помощью API на основе RDD из pyspark.mllb, чтобы перезагрузить sdata с помощью sc.textFile и преобразовать его в форму (user_id, video_id, rating)
Теперь, если мне нужно выполнить ту же операцию, используя код API на основе Dataframe? Как этого добиться?