创建用户目录
bin/hdfs dfs -mkdir -p /user/hadoop
创建input目录
bin/hdfs dfs -mkdir input
导入数据
bin/hdfs dfs -put etc/hadoop/*.xml input
Hadoop运行程序时,默认输出目录不能存在,删除output文件夹
bin/hdfs dfs -rm -r /user/hadoop/output
执行jar包
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep input output 'dfs[a-z.]+'
(1)bin/hadoop:${HADOOP_HOME}/bin下的shell脚本名。
(2) jar:hadoop脚本需要的command参数。
(3) share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar:要执行的jar包在本地文件系统中的完整路径,参递给RunJar类。
(4) grep:main方法所在的类,参递给RunJar类。
(5) input:传递给WordCount类,作为DFS文件系统的路径,指示输入数据来源。
(6)output :传递给WordCount类,作为DFS文件系统的路径,指示输出数据路径。
查看hdfs中的输出结果
bin/hdfs dfs -cat output/*
将输出结果导到本地
rm -R ./output
bin/hdfs dfs -get output output # 将 HDFS 上的 output 文件夹拷贝到本机
cat ./output/*
在程序中输出前删除输出目录代码
onfiguration conf = new Configuration();
Job job = new Job(conf);
...
/* 删除输出目录 */
Path outputPath = new Path(args[1]);
outputPath.getFileSystem(conf).delete(outputPath, true);