जवाबों:
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 dfs -copyToLocal <hdfs_input_file_path> <output_path>
कहाँ पे,
hdfs_input_file_path
शायद से प्राप्त किया http://<<name_node_ip>>:50070/explorer.html
output_path
फ़ाइल का स्थानीय पथ है, जहाँ फ़ाइल की प्रतिलिपि बनाई जानी है।
आप के get
स्थान पर भी उपयोग कर सकते हैं copyToLocal
।
एचडीएफएस से फाइल को स्थानीय फाइल सिस्टम में कॉपी करने के लिए निम्नलिखित कमांड को चलाया जा सकता है:
hadoop dfs -copyToLocal <input> <output>
<input>
: HDFS निर्देशिका पथ (जैसे / mydata) जिसे आप कॉपी करना चाहते हैं<output>
: गंतव्य निर्देशिका पथ (जैसे ~ / दस्तावेज़)hadoop fs -ls
?
आप इन दोनों तरीकों से पूरा कर सकते हैं।
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 में स्थित हैं, मैं फ़ाइल को इस पथ / उपयोगकर्ता / रवि / mydata में स्थानीय फ़ाइल सिस्टम में कॉपी करना चाहता हूं
hadoop fs -get /sourcedata/mydata.txt /user/ravi/mydata/
यदि आपका स्रोत "फ़ाइल" कई फ़ाइलों (शायद मानचित्र-कम के परिणाम के रूप में) के बीच विभाजित है, जो एक ही डायरेक्टरी ट्री में रहते हैं, तो आप इसे स्थानीय फ़ाइल में कॉपी कर सकते हैं:
hadoop fs -getmerge /hdfs/source/dir_root/ local/destination
यदि आप docker का उपयोग कर रहे हैं तो आपको निम्नलिखित चरण करने होंगे:
फाइल को एचडीएफएस से नामेनोड (हडूप एफएस -गेट आउटपुट / पार्ट-आर-00000 / आउट_टेक्स्ट) में कॉपी करें। "" out_text "को नेमेनोड पर संग्रहीत किया जाएगा।
फ़ाइल को नामेनोड से स्थानीय डिस्क पर कॉपी करें (docker cp namenode: / out_text output.txt)
output.txt आपके वर्तमान कार्यशील निर्देशिका पर होगा
bin/hadoop fs -put /localfs/destination/path /hdfs/source/path