Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 调试mahout逻辑回归_Hadoop_Mahout - Fatal编程技术网

Hadoop 调试mahout逻辑回归

Hadoop 调试mahout逻辑回归,hadoop,mahout,Hadoop,Mahout,我是个新手。。我正在尝试下面列出的标准“甜甜圈”示例: 所以这个例子很有魅力 但是当我试图在我的数据集(whcih是一个巨大的数据集)上实现它时,它不起作用 数据集位于一个csv文件中。。一切都是一样的,只是它有很多特性(~100)并且是1TB文件 我得到了这个错误 bin/mahout trainlogistic --input /path/mahout_input/complete/input.csv \ --output mahoutmodel --target default --

我是个新手。。我正在尝试下面列出的标准“甜甜圈”示例:

所以这个例子很有魅力

但是当我试图在我的数据集(whcih是一个巨大的数据集)上实现它时,它不起作用

数据集位于一个csv文件中。。一切都是一样的,只是它有很多特性(~100)并且是1TB文件

我得到了这个错误

 bin/mahout trainlogistic  --input /path/mahout_input/complete/input.csv \
--output mahoutmodel --target default --categories 2 --predictors O1 E1 I1 \
 --types numeric --features 30 --passes 100 --rate 50
Running on hadoop, using HADOOP_HOME=/opt/mapr/hadoop/hadoop-0.20.2
No HADOOP_CONF_DIR set, using /opt/mapr/hadoop/hadoop-0.20.2/conf
Exception in thread "main" java.lang.NullPointerException
        at org.apache.mahout.classifier.sgd.CsvRecordFactory.firstLine(CsvRecordFactory.java:167)
        at org.apache.mahout.classifier.sgd.TrainLogistic.main(TrainLogistic.java:75)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.hadoop.util.ProgramDriver$ProgramDescription.invoke(ProgramDriver.java:68)
        at org.apache.hadoop.util.ProgramDriver.driver(ProgramDriver.java:139)
        at org.apache.mahout.driver.MahoutDriver.main(MahoutDriver.java:187)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:186)
我做错了什么

如何调试这个。。错误是什么


谢谢

我猜您的输入不存在或为空。我会检查
/path/mahout\u input/complete/input.csv是否真的是你的意思。

要么检查你的输入路径,要么确保你的第一行输入路径在“”中有值,只像“x1”、“x2”、“x3”、“label”。所以我也遇到了类似的情况

我的错误是绕过了不正确的--target参数,该参数在列中不存在。具体来说,我的标题行是

myColumn1,myColumn2,myColumn3
我的命令行是

mahout Train logistic--输入./input.csv--输出./logistic_模型
--目标MyMistypedColumn 1--预测因子MyColumn 2 MyColumn 3--类型w--功能2--通过100--比率50--类别2

另一个小贴士是:不要使用“(引号)或长列名,因此你应该避免“mahout不喜欢我的列名吗?”等令人头痛的问题


作为对MAHOUT的反馈:错误消息很糟糕。在这样一个有前途的框架中,我们永远不会看到“NullPointerException”。

它就在那里。我再次检查了它。输入文件中的字段分隔符与MAHOUT CSV reader所期望的不同。因此我猜它无法从第一行分割并找到预测值。