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

来源:互联网 发布:成都建站seo 编辑:程序博客网 时间:2024/05/16 10:41

假设保存为test.sh,java文件为wc.java,【注:会打包成1.jar】,main函数所在类为wc,hdfs上输入目录地址为input,hdfs上输出目录地址为output【注:输入目录和输出目录非必须】

运行程序:

./test.sh wc.java wc input output


#!/bin/bash  #echo "$# $0 $1 $2"  HH=$HADOOP_INSTALL  if [ $# -lt 1 ];then      echo "usage: test.sh source.java [InputFile] [OutputFile]"      exit 0  elif [ ${1##*.} != "java" ];then      echo "Notice: source.java java!"      exit 0  elseif [ ! -d "./classes" ];thenmkdir "./classes"elserm -r ./classes/*  fijavac -classpath $HH/hadoop-0.20.2-core.jar:$HH/lib/commons-cli-1.2.jar  -d classes ./$1  jar -cvf 1.jar -C classes/ .  if [ $# -eq 3 ];then #删除已存在的output目录if [ 1 -eq `hadoop fs -ls |grep $3|wc $file| awk {' print ($1>0)'} ` ]; then  hadoop fs -rmr $3; fifiecho "==============Output====================="  if [ $# -eq 1 ];then          hadoop jar 1.jar ${1%.*}elif [ $# -eq 2 ];then          hadoop jar 1.jar ${1%.*} $2  elif [ $# -eq 3 ];then          hadoop jar 1.jar ${1%.*} $2 $3  fi  echo "========================================="  rm 1.jar  fi  




原创粉丝点击