не удалось подготовить логику для поиска чисел между файлом .dat в оболочке spark - PullRequest
0 голосов
/ 15 сентября 2018

Найдите те movie_Ids из файла оценок, которые не получили оценки ниже 4 любым пользователем.Файл рейтинга похож на: первое поле - серийный номер, второе поле - Movie_ID, третье - рейтинги, а четвертое - что-либо

1::1234::5::9000000   
1::1235::3::9000000   
1::1236::3::9000000   
1::1237::4::9000000   
1::1238::5::9000000 

Я пытался использовать

val ratingFile = sc.textFile("/ratings.dat")

val df = ratingFile.`enter code here`map(row=> row.split("::")).map(arr => {    
      val ID = arr(1)     
      val rate = arr(2).filter(_>='4')     
      val con = ID.concat("::").union(rate)     
      con.map(w=>w) 
})

, но я получаю записи длярейтинг '3' также, даже если я отфильтровал столбец рейтинга

scala> df.take(5)    
res29: Array[String] = Array(1193::5, 661::, 914::, 3408::4, 2355::5)  

, но мое требование - найти те movie_Ids, которые не получили оценки ниже 4 любым пользователем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...