जवाबों:
bin/hadoop fs -get /hdfs/source/path /localfs/destination/pathbin/hadoop fs -copyToLocal /hdfs/source/path /localfs/destination/pathnamenode_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