Хадуп:отобразить/уменьшить из HDFS
-
16-09-2019 - |
Вопрос
Возможно, я ошибаюсь, но все(?) примеры, которые я видел с Apache Hadoop, в качестве входных данных принимают файл, хранящийся в локальной файловой системе (например,org.apache.hadoop.examples.Grep)
Есть ли способ загрузить и сохранить данные в файловой системе Hadoop (HDFS)?Например, я поместил файл с разделителями табуляции с именем «stored.xls» в HDFS, используя hadoop-0.19.1/bin/hadoop dfs -put ~/local.xls stored.xls
.Как мне настроить JobConf для его чтения?
Спасибо .
Решение
JobConf conf = new JobConf(getConf(), ...); ... FileInputFormat.setInputPaths(conf, new Path("stored.xls")) ... JobClient.runJob(conf); ...
setInputPaths сделает это.
Другие советы
Пьер, конфигурация Hadoop по умолчанию предполагает работу в локальном, а не в распределенном режиме.Вероятно, вам нужно просто изменить некоторую конфигурацию в Hadoop-site.xml.Похоже, что вашей файловой системой по умолчанию по-прежнему является localhost, хотя должно быть hdfs://вашадрес:вашпорт.Посмотрите настройку fs.default.name, а также обратитесь к справке по настройке на странице Блог Майкла Нолла Больше подробностей.
FileInputFormat.setInputPaths(conf, new Path("hdfs://имя хоста:порт/пользователь/меня/stored.xls"));
Это подойдет