"पार्ट" फ़ाइलों को स्वचालित रूप से फ़ाइल सेट के रूप में संभाला जाता है।
val data = sc.textFile("/path/to/my/file") // Will read all parts.
बस शीर्ष लेख और इसे बाहर लिखें:
val header = sc.parallelize(Seq("...header..."))
val withHeader = header ++ data
withHeader.saveAsTextFile("/path/to/my/modified-file")
ध्यान दें कि यह पढ़ सकते हैं और सभी डेटा लिखने के लिए नहीं है, क्योंकि, इससे आप अपने सहज अपेक्षा कर सकते हैं की तुलना में काफ़ी धीमी हो जाएगा। (आखिरकार आप केवल एक नई लाइन जोड़ रहे हैं!) इस कारण और दूसरों के लिए, आप इस हेडर को जोड़ने से बेहतर नहीं हो सकते हैं, और डेटा से अलग मेटाडेटा (कॉलम की सूची) को स्टोर करने के बजाय बेहतर हो सकते हैं।
स्रोत
2015-04-28 21:09:44
'वैल हेडर = sc.parallize (सूची (" \ n ")) के साथ नया Rdd बनाएं और बस इन दो Rdd के साथ 'हेडर ++ डेटा' जोड़ें। लेकिन यह समझ में नहीं आता है, आपको इसकी आवश्यकता क्यों है? – ipoteka
मुझे खेद है, नई लाइन के साथ मेरा मतलब कुछ स्तंभों के नाम से एक रेखा थी। मेरी गलती। वैसे भी वही है जो मुझे चाहिए, धन्यवाद! – amarchin
मैं आपको डेटाफ्रेम देखने के लिए दृढ़ता से अनुशंसा करता हूं। बस, डेटाफ्रेम स्कीमा और प्रकारों के बारे में कुछ मेटा-जानकारी के साथ बस अजीब है। और रखें और ध्यान रखें कि 'हेडर ++ डेटा' बड़े Rdds के लिए आदेश जारी नहीं रहेगा। – ipoteka