drwxr-xr-x - riduan91 staff 238 2015-01-21 22:14 src
-rw-r--r-- 1 riduan91 staff 95 2015-01-16 08:33 weather.txt
drwxr-xr-x - riduan91 staff 204 2015-01-21 14:44 weather_result
-rw-r--r-- 1 riduan91 staff 39 2015-01-21 15:05 weather_result.txt
7.2.2 GenericOptionsParser, Tool et ToolRunner
GenericOptionsParser est une classe qui interpr`ete les options command-line commune d’Hadoop, puis
les installe sur un objet de type Configuration. Il est conv´enient d’impl´ementer l’interface Tool et ex´ecuter
l’application avec ToolRunner. On remarque que l’interface Tool est de structure suivante :
public interface Tool extends Configurable {
int run(String [] args) throws Exception;
}
Voici un exemple qui affiche les propri´et´es d’une Configuration.
import java.util.Map.Entry;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.conf.Configured;
import org.apache.hadoop.util.Tool;
import org.apache.hadoop.util.ToolRunner;
public class ConfigurationPrinter extends Configured implements Tool {
static {
Configuration.addDefaultResource("hdfs-default.xml");
Configuration.addDefaultResource("hdfs-site.xml");
Configuration.addDefaultResource("mapred-default.xml");
Configuration.addDefaultResource("mapred-site.xml");
}
@Override
public int run(String[] args) throws Exception {
Configuration conf = getConf();
for (Entry<String, String> entry: conf) {
System.out.printf("%s=%s\n", entry.getKey(), entry.getValue());
}
return 0;
}
public static void main(String[] args) throws Exception {
int exitCode = ToolRunner.run(new ConfigurationPrinter(), args);
System.exit(exitCode);
}
}
Le bloc statique garantit que les configurations de HFDS et MapReduce sont ajout´es dans Configuration
en outre que le tronc (core).
Il est possible de trouver la valeur d’une propri´et´e en appelant :
% export HADOOP_CLASSPATH=bin
% hadoop ConfigurationPrinter -conf hadoop-localhost.xml | grep mapred.job.tracker=
24