Chinaunix首页 | 论坛 | 博客
  • 博客访问: 93473
  • 博文数量: 55
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 335
  • 用 户 组: 普通用户
  • 注册时间: 2015-01-07 14:27
文章分类
文章存档

2015年(55)

我的朋友

分类: LINUX

2015-01-15 10:54:18

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

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

运行:

./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  

ee  

 -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  

 

  • 本文来自:
阅读(608) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~