shell脚本--linux终端运行hadoop--java文件


shell脚本--linux终端运行hadoop--java文件
 
假设保存为test.sh,java文件为wc.java,【注:会打包成1.jar】,main函数所在类为wc,hdfs上输入目录地址为input,hdfs上输出目录地址为output【注:输入目录和输出目录非必须】  www.2cto.com  
运行:
./test.sh wc.java wc input output
[plain] 
#!/bin/bash  
#echo "$# $0 $1 $2"  
HH=$HADOOP_HOME  
  
if [ $# -lt 2 ];then  
    echo "usage: jc.sh source.java ClassName [InputFile] [OutputFile]"  
    exit 0  
elif [ ${1##*.} != "java" ];then  
    echo "Notice: source.java java!"  
    exit 0  
else  
rm -r ./classes/*  
javac -classpath $HH/hadoop-mapred-0.22.0.jar:$HH/hadoop-hdfs-0.22.0.jar:$HH/hadoop-common-0.22.0.jar:$HH/lib/commons-cli-1.2.jar -d classes ./$1  
jar -cvf 1.jar -C classes/ .  
echo "==============Output====================="  
if [ $# -eq 2 ];then  
        hadoop jar 1.jar $2  
elif [ $# -eq 3 ];then  
        hadoop jar 1.jar $2 $3  
elif [ $# -eq 4 ];then  
        hadoop jar 1.jar $2 $3 $4  
fi  
echo "========================================="  
rm 1.jar  
fi  
 

相关内容

    暂无相关文章