Это говорит о том, что вы получаете индекс массива из-за ошибки границ.У вас нет номеров строк, но я подозреваю, что ошибочная строка -
val ratings = file.map(x => x.toString().split("\t")(2))
Вероятная причина ошибки в том, что у вас есть строка с одной или несколькими вкладками, разделенная на массив без индекса2, затем попытайтесь получить доступ к несуществующему элементу по индексу 2. Может быть полезно помнить, что массивы индексируются 0, поэтому индекс 2 фактически ссылается на третий элемент.Кроме того, если вы ожидаете не менее 3 элементов, и это не является ошибкой, то вам нужно выполнить очистку, чтобы убедиться, что вы не получаете никаких несоответствующих данных.