Как скопировать файл из HDFS в локальную файловую систему. В нем нет физического расположения файла, даже каталога. Как я могу переместить их в мой местный для дальнейшей проверки. Я пробовал через Winscp.
135
bin/hadoop fs -get /hdfs/source/path /localfs/destination/path
bin/hadoop fs -copyToLocal /hdfs/source/path /localfs/destination/path
namenode_machine:50070
), перейдите к файлу, который вы собираетесь скопировать, прокрутите страницу вниз и щелкните по загрузке файла .
В Hadoop 2.0
где,
hdfs_input_file_path
может быть получен изhttp://<<name_node_ip>>:50070/explorer.html
output_path
это локальный путь к файлу, куда файл должен быть скопирован.Вы также можете использовать
get
вместоcopyToLocal
.источник
Чтобы скопировать файлы из HDFS в локальную файловую систему, можно выполнить следующую команду:
hadoop dfs -copyToLocal <input> <output>
<input>
: путь к каталогу HDFS (например, / mydata), который вы хотите скопировать<output>
: путь к целевому каталогу (например, ~ / Documents)источник
hadoop fs -ls
?Вы можете достичь обоих этих способов.
Пример:
Мои файлы находятся в /sourcedata/mydata.txt. Я хочу скопировать файл в локальную файловую систему по этому пути / user / ravi / mydata
источник
Если ваш исходный «файл» разделен между несколькими файлами (возможно, в результате map-reduce), которые находятся в одном дереве каталогов, вы можете скопировать его в локальный файл с помощью:
источник
Это сработало для меня на моем экземпляре виртуальной машины Ubuntu.
hdfs dfs -copyToLocal [каталог hadoop] [локальный каталог]
источник
если вы используете докер, вам нужно сделать следующие шаги:
скопируйте файл из hdfs в namenode (hadoop fs -get output / part-r-00000 / out_text). "/ out_text" будет сохранен в namenode.
скопируйте файл из namenode на локальный диск с помощью (docker cp namenode: / out_text output.txt)
output.txt будет в вашем текущем рабочем каталоге
источник
источник