У меня возникла проблема с этой частью кода Spark Mllib из документации (https://spark.apache.org/docs/latest/ml-collaborative-filtering.html", используя файлы csv или txt:
val ratings =
spark.read.textFile("data/mllib/als/sample_movielens_ratings.txt")
.map(parseRating)
.toDF()
Я получаю следующую ошибку:
Ошибка: (31, 11) Не удалось найти кодировщик для типа, хранящегося в наборе данных. Примитивные типы (Int, String и т. д.) и типы продуктов (классы case) поддерживаются путем импорта spark.implicits._ Поддержка сериализации других типов будет добавлена в будущих выпусках.
.map(parseRating)
^
У меня также есть следующее в начале моего объекта:
val conf = new
SparkConf().setMaster("local[*]").set("spark.executor.memory", "2g")
val spark =
SparkSession.builder.appName("Mlibreco").config(conf).getOrCreate()
import spark.implicits._
Кажется, методу read.textFile нужен кодировщик. Я нашел несколько статей о том, как установить кодировщик. Однако я не знаю, как это реализовать при импорте файла csv или txt. Учитывая, что в документации ничего не упоминается о кодировщиках, вполне вероятно, что я упустил что-то очевидное.