Pergunta

Posso estar errado, mas todos (?) Exemplos que eu vi com o Apache Hadoop toma como entrada um arquivo armazenado no sistema de arquivos local (por exemplo org.apache.hadoop.examples.Grep)

Existe uma maneira de carregar e salvar os dados no sistema de arquivos Hadoop (HDFS)? Por exemplo, eu colocar um arquivo delimitado por tabulações chamado 'stored.xls' no HDFS usando hadoop-0.19.1/bin/hadoop dfs -put ~/local.xls stored.xls. Como devo configurar o JobConf para lê-lo?

Graças.

Foi útil?

Solução

JobConf conf = new JobConf(getConf(), ...);
...
FileInputFormat.setInputPaths(conf, new Path("stored.xls"))
...
JobClient.runJob(conf);
...

setInputPaths vai fazê-lo.

Outras dicas

Pierre, a configuração padrão para Hadoop é executado no modo local, em vez de no modo distribuído. Você provavelmente precisa apenas modificar algumas configurações no seu hadoop-site.xml. Parece que o seu sistema de arquivos padrão ainda é localhost, quando deveria ser hdfs: // youraddress: yourport. Olhe para a sua configuração para fs.default.name, e também ver a ajuda de instalação em Michael Noll blog para mais detalhes.

FileInputFormat.setInputPaths (conf, novo caminho ( "HDFS: // hostname: port / user / me / stored.xls"));

Isso vai fazer

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top