记一次Spark MlLib中ASL算法的参数接受问题

在Spark MlLib中的ASL 交替最小二乘法推荐模型,接收的参数为

userID:Int

itemID:Int

评分:Int

那么产生了两个问题:

1. 生产数据的用户id和itemID可能是字符串

2. 最大值问题

首先说第一个问题,如果是字符串,需要重新定义整形的ID,重新定义ID的方式有两种

RDD:data.map(_.uid).distinct().zipWithIndex().map(l=>(l._1,l._2.toInt)).toDF("uid","user")

DataFarem:df.select("item").distinct().withColumn("itemid",monotonicallyIncreasingId)

目前只能用第一种方式,第二种方式会生成Bigint而超出模型的接受范围。

然后第二个问题:

如果限制了类型,传入的最大值为int的最大值 2147483647(在32位操作系统中,由于是二进制,其能最大存储的数据是1111111111111111111111111111111即31个1。正因为此,体现在可视系统中的十进制应该为2147483647)

PS:21亿的item或者user的数量,应当能支撑一般业务了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
asl.log是苹果操作系统的一个重要环境变量之一。asl指的是Apple System Log,是苹果的一种日志系统,用于录操作系统及其他应用程序的日志信息。asl.log是asl系统生成的日志文件。 asl.log文件存储了操作系统及其他应用程序的重要日志录。在Mac OS X和iOS系统,这些日志信息是由多个进程产生的,包括系统自身的进程和各种应用程序的进程。asl.log的日志录包含系统服务、硬件和软件事件、错误和警告信息,以及其他与系统运行相关的信息。 asl.log文件的生成和存储路径在不同的系统版本可能会有所不同。在Mac OS X系统asl.log通常存储在/var/log/asl/目录下。这个文件通常为系统管理员和开发人员提供了一个查看和分析系统运行情况的重要工具。通过查看asl.log文件,可以了解到操作系统在运行过程发生的各种事件,如系统启动与关闭时间、安全漏洞、内核错误等。 由于asl.log文件内容非常庞大,需要专业的日志分析工具进行处理。在实际应用,开发人员和系统管理员常常利用asl.log文件来查找和解决系统问题,改进系统性能以及分析应用程序的运行状况。它是一种重要的日志录工具,对于维护和优化系统的稳定性和安全性起到了积极的作用。 总而言之,asl.log是苹果操作系统的一个重要环境变量,用于存储操作系统及其他应用程序产生的日志录。它为系统管理员和开发人员提供了一个重要的分析和优化系统的工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值