Запись данных к Hadoop

__file__ путь текущего модуля, вызов выполняется.

18
задан Steve Severance 7 October 2009 в 18:22
поделиться

3 ответа

Установите Cygwin, установите Hadoop локально (вам просто нужны двоичный файл и конфигурации, которые указывают на вашу сеть - нет необходимости запускать службы), запустите hadoop fs -copyFromLocal / path / to / localfile / hdfs / path /

Вы также можете использовать новый рабочий стол Cloudera для загрузки файла через веб-интерфейс, хотя это может быть не лучшим вариантом для гигантских файлов.

Также есть наложение WebDAV для HDFS, но я не знаю, насколько это стабильно / надежно.

11
ответ дан 30 November 2019 в 06:09
поделиться

В Java есть API. Вы можете использовать его, включив код Hadoop в свой проект. JavaDoc в целом очень полезен, но, конечно, вы должны знать, что ищете * g * http://hadoop.apache.org/common/docs/

Для вашей конкретной проблемы посмотрите: http://hadoop.apache.org/common/docs/current/api/org/apache/hadoop/fs/FileSystem.html (это относится к последнему выпуску, обратитесь к другим JavaDocs для других версий!)

Типичный вызов: Filesystem.get (new JobConf ()). Create (новый путь («однако.файл»)); Что возвращает вам поток, который вы можете обрабатывать с помощью обычного JavaIO.

17
ответ дан 30 November 2019 в 06:09
поделиться

Для решения проблемы загрузки данных, которые мне нужно было поместить в HDFS, я решил решить проблему.

Вместо того, чтобы загружать файлы в HDFS с сервера, на котором они находились, я написал задание Java Map / Reduce, в котором преобразователь считывает файл с файлового сервера (в данном случае через https), затем записать его непосредственно в HDFS (через Java API ).

Список файлов считывается из ввода. Затем у меня есть внешний скрипт, который заполняет файл списком файлов для выборки, загружает файл в HDFS (используя hadoop dfs -put ), а затем запускаю задание сопоставления / сокращения с приличным количеством картографов. .

Это дает мне отличную производительность передачи, так как несколько файлов читаются / записываются одновременно.

Может быть, это не тот ответ, который вы искали, но, надеюсь, это поможет: -).

13
ответ дан 30 November 2019 в 06:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: