Как скопировать файл из HDFS в локальную файловую систему. Нет физического расположения файла под файлом, даже не каталога. как я могу перенести их в свой локальный для дальнейших валидаций. Я пробовал через winscp.
Как скопировать файл из HDFS в локальную файловую систему
Ответ 1
-
bin/hadoop fs -get /hdfs/source/path /localfs/destination/path
-
bin/hadoop fs -copyToLocal /hdfs/source/path /localfs/destination/path
- Наведите свой веб-браузер на HDFS WEBUI (
namenode_machine:50070
), перейдите к файлу, который вы собираетесь скопировать, прокрутите страницу вниз и нажмите загрузить файл.
Ответ 2
В Hadoop 2.0,
hdfs dfs -copyToLocal <hdfs_input_file_path> <output_path>
где
-
hdfs_input_file_path
может быть получен изhttp://<<name_node_ip>>:50070/explorer.html
-
output_path
- это локальный путь к файлу, в который должен быть скопирован файл. -
вы также можете использовать
get
вместоcopyToLocal
.
Ответ 3
Чтобы скопировать файлы из HDFS в локальную файловую систему, можно выполнить следующую команду:
hadoop dfs -copyToLocal <input> <output>
-
<input>
: путь к каталогу HDFS (например,/mydata), который вы хотите скопировать -
<output>
: путь к каталогу назначения (например, ~/Documents)
Ответ 4
вы можете выполнить оба этих способа.
1.hadoop fs -get <HDFS file path> <Local system directory path>
2.hadoop fs -copyToLocal <HDFS file path> <Local system directory path>
Пример:
Мои файлы находятся в /sourcedata/mydata.txt Я хочу скопировать файл в локальную файловую систему по этому пути /user/ravi/mydatastrong >
hadoop fs -get /sourcedata/mydata.txt /user/ravi/mydata/
Ответ 5
Это сработало для меня на моем виртуальном экземпляре Ubuntu.
hdfs dfs -copyToLocal [каталог hadoop] [локальный каталог]
Ответ 6
Если ваш исходный "файл" разделен между несколькими файлами (возможно, в результате map-Reduce), которые находятся в одном и том же дереве каталогов, вы можете скопировать его в локальный файл с помощью:
hadoop fs -getmerge /hdfs/source/dir_root/ local/destination
Ответ 7
Если вы используете Docker, вам нужно выполнить следующие шаги:
скопируйте файл из hdfs в namenode (hadoop fs -get output/part-r-00000/out_text). "/out_text" будет храниться в namenode.
скопируйте файл из namenode на локальный диск (docker cp namenode: /out_text output.txt)
output.txt будет там в вашем текущем рабочем каталоге
Ответ 8
bin/hadoop fs -put /localfs/destination/path /hdfs/source/path