Re: How to replace user.id to user.names in a file

2015-01-06 Thread Tobias Pfeiffer
Hi,

it looks to me as if you need the whole user database on every node, so
maybe put the id-name information as a Map[Id, String] in a broadcast
variable and then do something like

recommendations.map(line = {
  line.map(uid = usernames(uid))
})

or so?

Tobias


Re: How to replace user.id to user.names in a file

2015-01-06 Thread Tobias Pfeiffer
Hi,

On Wed, Jan 7, 2015 at 10:47 AM, Riginos Samaras samarasrigi...@gmail.com
wrote:

 Yes something like this. Can you please give me an example to create a Map?


That depends heavily on the shape of your input file. What about something
like:

(for (line - Source.fromFile(filename).getLines()) {
  val items = line.trim.split( )
  (items(0).toInt, items(1))
}).toMap

Tobias


Re: How to replace user.id to user.names in a file

2015-01-06 Thread Tobias Pfeiffer
Hi,

On Wed, Jan 7, 2015 at 11:13 AM, Riginos Samaras samarasrigi...@gmail.com
wrote:

 exactly thats what I'm looking for, my code is like this:
 //code

 val users_map = users_file.map{ s =

 val parts = s.split(,)

 (parts(0).toInt, parts(1))

 }.distinct

 //code


 but i get the error:

 error: value toMap is not a member of org.apache.spark.rdd.RDD[(Int,
 String)]

   user_map.toMap

If you want to distribute the Map as a broadcast variable, it must not be
an RDD but a normal Scala map. Make your users_file a regular List, then it
should work.

Tobias