Mahout 0.9版提供了JDBC投诉数据库(如MySQL / Oracle / Postgress等),NoSQL数据库(如MongoDB / HBase / Cassandra)和基于文件系统的数据模型(源数据)。
截至本次发布,Hive不是100%SQL标准数据库的数据模型 MySQLJDBCDataModel 并且SQL92JDBCDataModel不适合用于Hive表,因为JDBC注释数据库中的SQL语法非常不同。
对于您的第一个问题,您可能希望扩展 AbstractJDBCDataModel 并覆盖构造函数以传递Hive数据源和hive特定SQL查询的首选项,首选项时间,用户,所有用户等类似于AbstractJDBCDataModel构造函数中提到的。
对于第二个问题,如果您使用的是非分布式算法(Taste算法),则上述方法会很好。如果使用分布式算法,Mahout可以在Hadoop上运行,从而获取由Hive表支持的HDFS文件。请参阅 这里 在Hadoop上运行Mahout