从零开始最短路径学习Hadoop之05----MapReduce应用开发

本文介绍了从零开始学习Hadoop MapReduce的过程中,通过ReadMulConfD.java源代码的讲解和编译步骤,详细阐述了如何在Hadoop环境下进行MapReduce应用的开发。编译过程中使用javac命令,并指定了Hadoop核心库的classpath。
摘要由CSDN通过智能技术生成
1. MapReduce程序编写流程:写map函数和reduce函数和它们的单元测试;写驱动程序并用本地数据集进行测试;在集群上运行并测试。Hadoop提供了一些在集群上进行诊断的辅助工具,如IsolationRunner。程序运行正确,需要进行调优。需要执行一切标准检查,然后做task profiling。Hadoop提供钩子hook辅助这个过程。

2. 配置API
    2.1 我们此前用过的Configuration类的实例代表配置属性及其取值的一个集合。每个属性由一个String来命名,值类型可以是多种类型之一。
    2.2 Configuration从XML文件读取属性值。
    2.3 Hadoop的系统默认属性在core-default.x ml文件,位置相关的覆盖属性在core-site.xml文件。
    2.4 如果Configuration连续读取多个配置xml文件,一般来说,后来xml文件的定义的属性会覆盖之前定义的属性。但前面文件被标记成final属性不能被后面的定义覆盖。
    2.5 一般,管理员将守护进程site file中的属性标记为final,这样可以防止用户在客户端或者作业提交参数中改动这些参数。
    2.6 系统属性的优先级高于源文件中定义的属性。
    2.7 上述属性配置需要用一个演示程序进行展示。
    2.8 例子1 读取简单配置文件configuration-1.xml
        2.8.1 在/home/brian/usr/hadoop/hadoop-1.1.2/new-conf目录,configuration-1.xml放入这个目录中。注意,必须将new-conf目录放必须放在/home/brian/usr/hadoop/hadoop-1.1.2,放在其他目录不可以。configuration-1.xml内容如下:
<?xml version="1.0"?>

<configuration>
  <property>
    <name>color</name>
    <value>yellow</value>
    <description>Color</description>
  </property>

  <property>
    <name>size</name>
    <value>10</value>
    <description>Size</description>
  </property>

  <property>
    <name>weight</name>
    <value>heavy</value>
    <final>true</final>
    <description>Weight</description>
  </property>

  <property>
    <name>size-weight</name>
    <value>${size},${weight}</value>
    <description>Size and weight</description>
  </property>

</configuration>

        2.8.2 源代码ReadConf.java
package com.cere;

import org.apache.hadoop.conf.Configuration;

public class ReadConf{
    public static void main(String[] args){
        Configuration conf = new Configuration();
        conf.addResource("./new-conf/configuration-1.xml");
        System.out.printf("color = %s\n", conf.get("color"));
        System.out.printf("size = %d\n", conf.getInt("size", 0));
        System.out.printf("weight = %s\n", conf.get("weight"));
        System.out.printf("wide = %s\n", conf.get("breadth", "wide"));
    }
}

        2.8.3 编译:brian@brian-laptop:~/work/learn/hadoop/hdp-train/class-5/p1$ javac -classpath /home/brian/usr/hadoop/hadoop-1.1.2/hadoop-core-1.1.2.jar -d ./classes/ src/*.java
        2.8.4 打包:brian@brian-laptop:~/work/learn/hadoop/hdp-train/class-5/p1$ jar -cvf rc.jar -C ./classes/ .
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值