Mahout学习之运行canopy算法错误及解决办法
一:将Text转换成Vector序列文件时
在Hadoop中运行编译打包好的jar程序,可能会报下面的错误:
- Exception in thread "main" java.lang.NoClassDefFoundError:
- org/apache/mahout/common/AbstractJob
但是到了小编这里不管怎么尝试,都不能解决,最终放弃了打包成jar运行的念头,就在对源码进行了修改,在eclipse运行了
二:java.lang.Exception: java.lang.ClassCastException: org.apache.hadoop.io.IntWritable cannot be cast to org.apache.hadoop.io.Text
此种错误,是由于map和reduce端函数格式输入输出不一致,导致数据类型不匹配
在次要注意一个特别容易出错的地方:Mapper和Reducer类中的函数必须是map和reduce,名字不能改,因为是继承Mapper类和Reducer类,如果函数名字改变了的话也可能造成以上的错误,或者Reducer端不输出
三:当在命令行里直接用命令转化文件格式时抛出如下错误:
ERROR common.AbstractJob: Unexpected --seqFileDir while processing Job-Specific Options
注:转化命令为:bin/mahout clusterdump --seqFileDir /home/thinkgamer/document/canopy/output/clusters-0-final/ --pointsDir /home/thinkgamer/document/canopy/output/clusteredPoints/ --output /home/thinkgamer/document/canopy/clusteranalyze.txt
上网搜了搜热心的网友给出的解决办法是:将--seqFileDir换成--input即可
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Spark工程开发常用函数与方法(Scala语言)
import org.apache.spark.{SparkContext, SparkConf}import org.apache.spark.sql.{SaveMode, DataFrame}import scala.collection.mutable.ArrayBufferimport main.asiainfo.coc.tools.Configureimport org.apache.spark.sql.hive.HiveContextimport java.sql.DriverManagerimport java.sql.Connection 1 连接前台数据源 查询前台MYSQL中的数据 val DIM_COC_INDEX_INFO_DDL = s""" CREATE TEMPORARY TABLE DIM_COC_INDEX_INFO USING org.apache.spark.sql.jdbc OPTIONS ( url '${mySQLUrl}', dbtable 'DIM_COC_INDEX_INFO' )""".stripMargin sqlContext.s...
- 下一篇
Mahout学习之命令行创建序列文件
一:命令行转换 创建新的工作目录 mkdir lastfm mkdir ./lastfm/original export WORK_DIR=/home/thinkgamer/document/lastfm cd $WORK_DIR 自己准备一个数据集放在original文件夹下,例如将点击打开链接下边的数据保存在synthetic_control.data中进行转换,首先将其放在origiinal文件夹中 进入mahout的安装目录,前提是hadoop环境是启动的 cd /usr/local/hadoop/mahout bin/mahout seqdirectory -i $WORK_DIR/original -o $WORK_DIR/sequencesfile 然后进入$WORK_DIR目录下有一个sequencesfile文件夹 cd $WORK_DIR cd sequencesfile ls 会显示如下: part-m-00000 _SUCCESS 命令行查看part-m-00000的文件内容为: bin/mahout seqdumper -i $WORK_DIR/sequenc...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Linux系统CentOS6、CentOS7手动修改IP地址
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Hadoop3单机部署,实现最简伪集群
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8编译安装MySQL8.0.19