我的CSV文件如下:
customer_ID, location, ....other info..., item-bought, score
我正在尝试在Spark中构建一个协作过滤推荐器。 Spark采用以下形式的数据:
userID, itemID, value
但我的数据更长,我想要使用所有用户的信息而不仅仅是userID
。我尝试将列分组在一列中:
(customerID,location,....),itemID,score
但是ALS.train
给了我这个错误:
TypeError:int()参数必须是字符串或数字,而不是' tuple'
如何让spark获取多个键/值而不仅仅是三列? 感谢
答案 0 :(得分:1)
对于每个客户,请确定要用于区分这些用户实体的列。创建一个表(例如在SQL中),其中每行包含一个用户实体的信息,并使用此表中的行号作为userID。
如有必要,请对您的商品执行相同操作,并将这些ID提供给您的分类器。