javac -classpath /lib/rt.jar -d wordcount WordCount.java :将WordCount.java进行编译并且输出到wordcount目录,编译时依赖/lib/rt.jar
jar -cvf wordcount.jar *.class:将当前目录下所有的class文件打包成wordcount.jar,方便后面运行
hadoop fs -put input/* input_wordcount/:将input目录下的所有文件提交到hadoop的input_wordcount目录中
hadoop fs -mkdir input_wordcount:在hadoop中创建目录
hadoop fs -ls:列出文件列表
hadoop fs -cat :查看文件内容
MapReduce的具体程序使用Java编写?
mkdir examples //生成一个examples目录
cd examples //进入examples文件路径
mkdir word_count //生成word_count目录
cd word_count //进入word_count目录
mkdir input //用于存放提交的作业
mkdir word_count_class //用于存放编译好的类
vim WordCount.java // 编写好java程序后保存,资料下载里面有
javac -classpath /opt/hadoop-1.2.1/hadoop-core-1.2.1.jar:/opt/hadoop-1.2.1/lib/commons-cli-1.2.jar -d word_count_class/ WordCount.java //因为编译WordCount.java过程需要引用hadoop封装类,所以需要引用
jar -cvf wordcount.jar *.class //将当前目录下的所有class都打包进wordcount.jar文件中
cd .. //返回上级word_count目录
cd input
vim file1 //编辑好file1 之后保存 ,file1里面为需要提交的作业
vim file2 // 类似
cd .. //返回到word_count目录
hadoop fs -mkdir input_wordcount //创建一个hadoop 目录,用于存放提交的作业
hadoop fs -put input/* input_wordcount //将本地的作业提交到input_wordcount目录中
hadoop fs -ls input_wordcount //查看文件是否在该目录下
hadoop jar word_count_class/wordcount.jar WordCount input_wordcount output_wordcount //提交jvm运行的jar,同时提交运行的主类,input..和out..分别用于保存提交的作业和运行结束的作业
....
....
....
等待程序运行, ok
这块需要自己实战一下,好好看看word count的java代码
将代码打包;
把输入文件put到hadoop下面
使用hadoop jar运行jar包
编写WordCount.java,包含Mapper类和Reducec类 2.编译WordCount.java,java -classpath #资料下载里面有 3.打包 jar -cvf WordCount.jar classes/* 4.作业提交 hadoop jar WordCount.jar WordCount input output 提交到hadoop中运行,指定输入文件 ,指定输出文件
javac -classpath /opt/hadoop-1.2.1/hadoop-core-1.2.1.jar:/opt/hadoop-1.2.1/lib/commons-cli-1.2.jar -d 编译后地址 编译文件
1.编写WordCount.java,包含Mapper类和Reducec类 2.编译WordCount.java,java -classpath #资料下载里面有 3.打包 jar -cvf WordCount.jar classes/* 4.作业提交 hadoop jar WordCount.jar WordCount input output 提交到hadoop中运行,指定输入文件 ,指定输出文件