В hadoop, как я могу инициализировать объект DistributedFileSystem через метод initialize? - PullRequest
0 голосов
/ 18 января 2011

Есть два аргумента, URI и конфигурация.Я предполагаю, что объект JobConf, на который настроен клиент, должен работать для конфигурации, но как насчет URI?

Вот код, который у меня есть для драйвера:

JobClient client = new JobClient();
JobConf conf = new JobConf(ClickViewSessions.class);

conf.setJobName("ClickViewSessions");

conf.setOutputKeyClass(LongWritable.class);
conf.setOutputValueClass(MinMaxWritable.class);

FileInputFormat.addInputPath(conf, new Path("input"));
FileOutputFormat.setOutputPath(conf, new Path("output"));

conf.setMapperClass(ClickViewSessionsMapper.class);
conf.setReducerClass(ClickViewSessionsReducer.class);

client.setConf(conf);

DistributedFileSystem dfs = new DistributedFileSystem();
try {
    dfs.initialize(new URI("blah") /* what goes here??? */, conf);
} catch (Exception e) {
    throw new RuntimeException(e.toString());
}

Как сделатьЯ получаю URI для вызова на initialize выше?

Ответы [ 2 ]

1 голос
/ 20 июля 2012
You could also use as shown below to intialize a file system

import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;

    public static void main(String args[]){
        try {
            Configuration conf = new Configuration();
            conf.set("fs.defaultFS", "hdfs://localhost:54310/user/hadoop/");
            FileSystem fs = FileSystem.get(conf);
            FileStatus[] status = fs.listStatus(new Path("."));
            for(int i=0;i<status.length;i++){
                System.out.println(status[i].getPath());
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
0 голосов
/ 19 января 2011

URI - это местоположение используемой HDFS.Значение по умолчанию для имени файловой системы должно быть в файле conf / core-site.xml.Значение 'fs.default.name' должно быть URI, к которому вы подключаетесь.

Если вы еще не посмотрели руководство по настройке простой системы с одним узлом, я бы оченьРекомендую:

http://hadoop.apache.org/common/docs/current/single_node_setup.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...