Hadoop措施入门实践
问题告诉:
找出销往各个国度商品数量。
输入: 我们的畋输入数据荟萃是一个 CSV 文件, Sales2014.csv
前提条件:
在实际操纵进程中,利用的用户是'hduser_“(此用户利用 Hadoop)。
[email protected]:~$ su hduser_
步调:
1.建设一个新的目次名称是:MapReduceTutorial
[email protected]:~$ sudo mkdir MapReduceTuorial
授予权限
[email protected]:~$ sudo chmod -R 777 MapReduceTutorial
下载相关文件:下载 Java 措施文件,拷贝以下文件:SalesMapper.java, SalesCountryReducer.java 和 SalesCountryDriver.java 到 MapReduceTutorial 目次中,
查抄所有这些文件的文件权限是否正确:
假如“读取”权限缺少可从头再授予权限,执行以下呼吁:
[email protected]:/home/hduser_/MapReduceTutorial$ sudo chmod +r *
2.导出类路径
[email protected]:~/MapReduceTutorial$ export CLASSPATH="$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.7.1.jar:$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-common-2.7.1.jar:$HADOOP_HOME/share/hadoop/common/hadoop-common-2.7.1.jar:~/MapReduceTutorial/SalesCountry/*:$HADOOP_HOME/lib/*" [email protected]:~/MapReduceTutorial$
3. 编译Java文件(这些文件存在于目次:Final-MapReduceHandsOn). 它的类文件将被放在包目次:
[email protected]:~/MapReduceTutorial$ javac -d . SalesMapper.java SalesCountryReducer.java SalesCountryDriver.java
安详地忽略此告诫:
此编译将建设一个名称与Java源文件(在我们的例子即,SalesCountry)指定包名称的目次,并把所有编译的类文件在内里,因此这个目次要在编译文件前建设。
接下来:
#p#分页标题#e#
建设一个新的文件:Manifest.txt
[email protected]:~/MapReduceTutorial$ vi Manifest.txt
添加以下内容到文件中:
Main-Class: SalesCountry.SalesCountryDriver
SalesCountry.SalesCountryDriver 是主类的名称。请留意,必需键入回车键,在该行的末端。
下一步:建设一个 jar 文件
[email protected]:~/MapReduceTutorial$ $JAVA_HOME/bin/jar cfm ProductSalePerCountry.jar Manifest.txt SalesCountry/*.class
查抄所建设的 jar 文件,功效如下:
6. 启动 Hadoop
[email protected]:~$ $HADOOP_HOME/sbin/start-dfs.sh [email protected]:~$ $HADOOP_HOME/sbin/start-yarn.sh
7. 拷贝文件 Sales2014.csv 到 ~/inputMapReduce
[email protected]:~$ mkdir inputMapReduce [email protected]:~$ cp MapReduceTutorial/Sales2014.csv ./inputMapReduce/Sales2014.csv
此刻利用以下呼吁来拷贝 ~/inputMapReduce 到 HDFS.
[email protected]:~$ $HADOOP_HOME/bin/hdfs dfs -copyFromLocal ~/inputMapReduce /
我们可以安心地忽略此告诫。验证文件是否真正复制没有?
[email protected]:~$ $HADOOP_HOME/bin/hdfs dfs -ls /inputMapReduce
8. 运行MapReduce 功课
[email protected]:~$ $HADOOP_HOME/bin/hadoop jar ProductSalePerCountry.jar /inputMapReduce /mapreduce_output_sales
这将在 HDFS 上建设一个输出目次,名为mapreduce_output_sales。此目次的文件内容将包括每个国度的产物销售。
9. 功效可以通过呼吁界面中可以看到
[email protected]:~$ $HADOOP_HOME/bin/hdfs dfs -cat /mapreduce_output_sales/part-00000
功效也可以通过 Web 界面看到,打开 Web 欣赏器,输入网址:http://localhost:50070/dfshealth.jsp ,功效如下:
此刻选择 'Browse the filesystem' 并导航到 /mapreduce_output_sales 如下:
#p#分页标题#e#
打开 part-r-00000 ,如下图所示:
下载后,查察功效内容。