Исходник на python компилиться(из cygwin) таким командным файлом:
export HADOOP_HOME=/path2hadoop
export CLASSPATH="$HADOOP_HOME/build/classes"
for f in $HADOOP_HOME/lib/*.jar; do
CLASSPATH=${CLASSPATH}:$f;
done
for f in $HADOOP_HOME/lib/jetty-ext/*.jar; do
CLASSPATH=${CLASSPATH}:$f;
done
for f in $HADOOP_HOME/*.jar; do
CLASSPATH=${CLASSPATH}:$f;
done
unset IFS
jythonc.bat -A hadoop-0.12.3-core.jar -p org.apache.hadoop -d -j wc.jar -c WordCount.py
Пытаюсь запустить с помощью Hadoop этот jar-ник.
(Hadoop выступает как обертка при запуске).
Код запуска по сути такой (разбил на строки для читабельности и “затер” частично пути)
exec Path2jdk\bin\java -Xmx1000m
-Dhadoop.log.dir=path2HADOOPlogs
-Dhadoop.log.file=hadoop.log
-Dhadoop.home.dir=path2HadoopHome
-Dhadoop.id.str=
-Dhadoop.root.logger=INFO,console
-Djava.library.path=
path2jython/jython.jar:
/path2hadoop/hadoop-0.12.3-core.jar
-classpath
hadoop-site.xml;
C;
path2jdk\lib\tools.jar;
path2HADOOPhome\build\classes;
path2HADOOPhome\build;
path2HADOOPhome\build\test\classes;
path2HADOOPhome\;
path2HADOOPhome\hadoop-0.12.3-core.jar;
path2HADOOPhome\lib\commons-cli-2.0-SNAPSHOT.jar;
path2HADOOPhome\lib\commons-codec-1.3.jar;
path2HADOOPhome\lib\commons-httpclient-3.0.1.jar;
path2HADOOPhome\lib\commons-logging-1.0.4.jar;
path2HADOOPhome\lib\commons-logging-api-1.0.4.jar;
path2HADOOPhome\lib\jets3t-0.5.0.jar;
path2HADOOPhome\lib\jetty-5.1.4.jar;
path2HADOOPhome\lib\junit-3.8.1.jar;
path2HADOOPhome\lib\log4j-1.2.13.jar;
path2HADOOPhome\lib\servlet-api.jar;
path2HADOOPhome\lib\jetty-ext\ant.jar;
path2HADOOPhome\lib\jetty-ext\commons-el.jar;
path2HADOOPhome\lib\jetty-ext\jasper-compiler.jar;
path2HADOOPhome\lib\jetty-ext\jasper-runtime.jar;
path2HADOOPhome\lib\jetty-ext\jsp-api.jar;
path2HADOOPhome\hadoop-0.12.3-core.jar;
path2jython\jython.jar
org.apache.hadoop.util.RunJar wc.jar -m3 -r 1 vm_utf8.txt
Exception in thread “main” Traceback (innermost last):
File “path2hadoopExamples\python\WordCount.py”, line 0, in main
ImportError: no module named io
что для меня странно, т.к. hadoop-0.12.3-core.jar указан в путях и org.apache.hadoop.io там есть
И почему он пишет путь к исходнику питоновскому, хотя я запукаю jar и совсем из другой директории? oO7
код в исходнике такой (приведу только начало, т.к. io встречается только в заголовке):
from org.apache.hadoop.fs import Path
from org.apache.hadoop.io import *
from org.apache.hadoop.mapred import *
import sys
import getopt
Все осложняется тем, что я не знаю хорошо Java и Python, т.ч. подскажите мне, пожалуйста, что я мог возможно забыть?