spark MLlib中协同过滤算法接受的userId是int类型,但是真正的ID是字符串,怎么映射好呢?

Evil_Logic 2016-02-19 02:20:03
MLlib的cf算法接受的是Rating类型的RDD:

JavaRDD<Rating>

其中Rating代表的是两个int 和一个double

org.apache.spark.mllib.recommendation.Rating.Rating(int user, int product, double rating)

但是假如我的用户唯一标识是uuid,那么怎么转换成唯一对应的int类型?直接弄个映射表把1234和uuid对应起来么?
...全文
1630 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
卢子墨 2018-11-30
  • 打赏
  • 举报
回复
请问当初怎么解决的哈?我也遇到这个 id是一连串数字加字符的类型[/quote]
amen000 2017-12-02
  • 打赏
  • 举报
回复
是的,直接弄个主键id int自增长表,与用户uuid对应,注意要去重并一一对应,用sql处理原始数据,用id替换uuid存入算法读取训练数据文件中,算完结果再将id转换回uuid
wrty1993 2017-10-24
  • 打赏
  • 举报
回复
请问当初怎么解决的哈?我也遇到这个 id是一连串数字加字符的类型
qq_26802917 2016-10-13
  • 打赏
  • 举报
回复
看一下StringIndexer的用法
sherry0909_spark 2016-08-31
  • 打赏
  • 举报
回复
楼主,你的问题怎么解决的啊?只能弄个映射表把1234和uuid对应起来么
stjzl 2016-04-14
  • 打赏
  • 举报
回复
为什么要用uuid作用户的唯一标识呢? 直接用int 自增不就好了吗
Evil_Logic 2016-03-08
  • 打赏
  • 举报
回复
额,大家都没碰到过这个问题么?

1,261

社区成员

发帖
与我相关
我的任务
社区描述
Spark由Scala写成,是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于MapReduce算法实现的分布式计算。
社区管理员
  • Spark
  • shiter
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧