Hadoop में, -copyFromLocal की वर्तमान प्रक्रिया को कैसे दिखाया जाए


10

मैं अभी भी Hadoop का नौसिखिया सीखने वाला हूं, और इस बार मैं एक 106GB फ़ाइल को संसाधित करने की कोशिश कर रहा था। मैं -copyFromLocalउस बड़ी फ़ाइल को अपने Hadoop DFS में कॉपी करता था, लेकिन चूंकि फ़ाइल बड़ी है, मुझे वर्तमान प्रतिलिपि स्थिति के बारे में एक सुराग के बिना लंबे समय तक इंतजार करना पड़ता है।

क्या इस आदेश के साथ वर्तमान फ़ाइल प्रतिलिपि स्थिति दिखाने का कोई तरीका है?

आपकी मदद के लिए अग्रिम धन्यवाद दोस्तों!

जवाबों:


14

CopyFromLocalफ़ाइल कॉपी प्रगति को प्रदर्शित करने की क्षमता नहीं है। वैकल्पिक रूप से, आप एक और खोल खोल सकते हैं और चला सकते हैं $ watch hadoop fs -ls <filenameyouarecopying>। यह प्रत्येक 2.0 सेकंड में एक बार फ़ाइल और उसके आकार को प्रदर्शित करेगा।


1
यदि इसे प्रलेखित नहीं किया जाता है, तो इसका अस्तित्व नहीं है। :-)
सनीशाह

2

pvकमांड का उपयोग करके स्थानीय फ़ाइल के पढ़ने की प्रगति को ट्रैक करना और फ़ाइल सामग्री को hdfs dfsस्टड पर पाइप करना भी संभव है :

pv mylargefile.txt | hdfs dfs -put - /path/to/file/on/hdfs/mylargefile.txt


pvइस तरह के एक undervalued उपकरण IMO है। यहाँ काम पूरी तरह से करता है।
माइकल मिओर

1

ऐसा नहीं लगता है कि किसी भी कॉपी कमांड (copyFromLocal, copyToLocal, get, put) के लिए एक वर्बोज़ विकल्प है। आपकी सबसे अच्छी शर्त शायद यह है कि यह प्रगति करने के लिए एचडीएफएस पर गंतव्य पर फ़ाइल के आकार को देखना है।


1

आप पृष्ठभूमि की प्रक्रिया के रूप में नकल को निष्पादित करने के लिए "नोह और" का उपयोग कर सकते हैं। आपके द्वारा सर्वर से लॉग आउट करने के बाद भी nohup निष्पादित करने के लिए प्रक्रिया करेगा। जब आपको कभी भी आवश्यकता होती है, तो आप "हडूप एफएस-हील्स" का उपयोग करके प्रक्रिया की जांच कर सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.