2013-05-31 7 views
6

क्या कोई तरीका है जिसके द्वारा मैं वेबएचडीएफएस आरईएसटी एपीआई का उपयोग कर एचडीएफएस से एक फ़ाइल डाउनलोड कर सकता हूं? निकटतम मैं पहुंच गया है फ़ाइल को पढ़ने और सामग्री को सहेजने के लिए खुले ऑपरेशन का उपयोग करना है।क्या वेबएचडीएफएस रीस्ट एपीआई का उपयोग कर एचडीएफएस फ़ाइल डाउनलोड करने का कोई तरीका है?

curl -i -L "http://localhost:50075/webhdfs/v1/demofile.txt?op=OPEN" -o ~/demofile.txt 

वहाँ किसी भी एपीआई कि मुझे इसे खोले बिना फ़ाइल सीधे डाउनलोड करने की अनुमति देगा? मैं आधिकारिक document माध्यम से चला गया और गूगल के रूप में अच्छी तरह से कोशिश की, लेकिन कुछ भी नहीं मिला है। क्या कोई मुझे सही दिशा में इंगित कर सकता है या मुझे कुछ पॉइंटर्स प्रदान कर सकता है?

आपके मूल्यवान समय के लिए बहुत बहुत धन्यवाद।

+0

क्या दृष्टिकोण आप का वर्णन कर रहे हैं साथ कुछ गड़बड़ है ? यदि आप इसे स्थानीय रूप से डाउनलोड करना चाहते हैं तो आपको किसी भी समय फ़ाइल को पढ़ने की आवश्यकता होगी। –

+0

उत्तर महोदय के लिए धन्यवाद। मैं सिर्फ फाइल को डाउनलोड करना चाहता हूं और इसे अपने स्थानीय एफएस पर एक निर्देशिका में रखना चाहता हूं। फाइल को पढ़ना इस पल में मेरा इरादा नहीं है। साथ ही, यदि मैं उपरोक्त दृष्टिकोण का पालन करता हूं तो मैं एक फ़ाइल के साथ समाप्त होता हूं जिसमें हेडर भी शामिल है "HTTP/1.1 200 ओके सामग्री-प्रकार: एप्लिकेशन/ऑक्टेट-स्ट्रीम सामग्री-लंबाई: 218 सर्वर: जेट्टी (6.1। 26) " – Tariq

+0

वेबएचडीएफएस एपीआई प्रोग्रामेटिक उपयोग के लिए है, इसलिए ओपन का उपयोग करना उतना ही करीब है जितना आप इसे उपयोग करना चाहते हैं ... आपको फ़ाइल बनाने के लिए अभी भी कुछ कोड चाहिए। –

उत्तर

6

आप शायद इसके लिए डेटा नोड एपीआई (पोर्ट 50075 पर डिफ़ॉल्ट) का उपयोग कर सकते हैं, यह streamFile कमांड का समर्थन करता है जिसका आप लाभ उठा सकते हैं।

wget http://$datanode:50075/streamFile/demofile.txt -O ~/demofile.txt 

ध्यान दें कि यह आदेश, datanode पर ही निष्पादित करने की आवश्यकता namenode पर नहीं: wget इस का उपयोग करते हुए कुछ ऐसा दिखाई देगा!

वैकल्पिक रूप से, अगर आप जो हिट करने के लिए आप पूछ सकते jobtracker datanode पता नहीं है और यह इस यूआरएल के साथ सही datanode पर पहुंच जाएंगे:

http://$namenode:50070/data/demofile.txt 
+0

उत्तर महोदय के लिए धन्यवाद। मैंने इसे एक बार कोशिश की थी लेकिन यह मुझे "त्रुटि 500 ​​दे रही थी: फ़ाइल मौजूद नहीं है: /।"। – Tariq

+0

क्या आप मुझे दिखा सकते हैं कि आप किस आदेश में भाग गए थे? –

+0

wget http: // localhost: 50075/streamFile? Filename =/demofile.txt -O ~/demofile.txt – Tariq

संबंधित मुद्दे

 संबंधित मुद्दे