मेरे पास एक आरडीडी है जिसका तत्व प्रकार (लांग, स्ट्रिंग) है। किसी कारण से, मैं पूरे आरडीडी को एचडीएफएस में सहेजना चाहता हूं, और बाद में यह भी पढ़ता हूं कि आरपीडी एक स्पार्क कार्यक्रम में वापस आ गया है। क्या यह करना मुमकिन है? और यदि हां, तो कैसे?मैं आरडीडी को एचडीएफएस में कैसे सहेज सकता हूं और बाद में इसे वापस पढ़ सकता हूं?
उत्तर
यह संभव है।
आरडीडी में आपके पास saveAsObjectFile
और saveAsTextFile
फ़ंक्शन हैं। टुपल्स को (value1, value2)
के रूप में संग्रहीत किया जाता है, ताकि आप इसे बाद में पार्स कर सकें।
पढ़ना SparkContext से textFile
समारोह और उसके बाद .map
साथ किया जा सकता ()
तो खत्म करने के लिए: संस्करण 1:
rdd.saveAsTextFile ("hdfs:///test1/");
// later, in other program
val newRdds = sparkContext.textFile("hdfs:///test1/part-*").map (x => {
// here remove() and parse long/strings
})
संस्करण 2:
rdd.saveAsObjectFile ("hdfs:///test1/");
// later, in other program - watch, you have tuples out of the box :)
val newRdds = sparkContext.sc.sequenceFile("hdfs:///test1/part-*", classOf[Long], classOf[String])
मैं करने के लिए सिफारिश करेंगे यदि आपका आरडीडी टैब्यूलर प्रारूप में है तो डेटाफ्रेम का उपयोग करें। एक डेटा फ्रेम एक तालिका है, या दो-आयामी सरणी जैसी संरचना है, जिसमें प्रत्येक कॉलम में एक चर पर माप होता है, और प्रत्येक पंक्ति में एक केस होता है। डेटाफ्रेम के टैबलेट प्रारूप के कारण अतिरिक्त मेटाडेटा है, जो स्पार्क को अंतिम क्वेरी पर कुछ अनुकूलन चलाने की अनुमति देता है। जहां एक आरडीडी एक लचीला वितरित डेटासेट है जो कि ब्लैकबॉक्स या डेटा के मूल अमूर्तता से अधिक है जिसे अनुकूलित नहीं किया जा सकता है। हालांकि, आप डेटाफ्रेम से आरडीडी तक जा सकते हैं और इसके विपरीत, और आप आरडीडी से डेटाफ्रेम (यदि आरडीडी टैब्यूलर प्रारूप में हैं) से डीडीएफ विधि के माध्यम से जा सकते हैं।
निम्नलिखित, कि एक स्वच्छ समाधान है :)/दुकान HDFS में सीएसवी और लकड़ी प्रारूप में एक DataFrame,
val conf = {
new SparkConf()
.setAppName("Spark-HDFS-Read-Write")
}
val sqlContext = new SQLContext(sc)
val sc = new SparkContext(conf)
val hdfs = "hdfs:///"
val df = Seq((1, "Name1")).toDF("id", "name")
// Writing file in CSV format
df.write.format("com.databricks.spark.csv").mode("overwrite").save(hdfs + "user/hdfs/employee/details.csv")
// Writing file in PARQUET format
df.write.format("parquet").mode("overwrite").save(hdfs + "user/hdfs/employee/details")
// Reading CSV files from HDFS
val dfIncsv = sqlContext.read.format("com.databricks.spark.csv").option("inferSchema", "true").load(hdfs + "user/hdfs/employee/details.csv")
// Reading PQRQUET files from HDFS
val dfInParquet = sqlContext.read.parquet(hdfs + "user/hdfs/employee/details")
- 1. मैं एप्लिकेशन को वापस बंडल में कैसे सहेज सकता हूं?
- 2. मैं वर्तमान कर्सर स्थिति को कैसे सहेज सकता हूं और इसे बाद में विस्क्रिप्ट में लोड कर सकता हूं?
- 3. मैं array.xml में रंग कैसे सहेज सकता हूं और इसे वापस रंग में प्राप्त कर सकता हूं [] सरणी
- 4. मैं केकेपीएचपी में सत्र डेटा कैसे बना सकता हूं, लिख सकता हूं और पढ़ सकता हूं?
- 5. svn में, क्या मैं एक बदलाव वापस कर सकता हूं और इसे बाद में शेल्फ कर सकता हूं?
- 6. ओपनसीवी में नई सी ++ स्टाइल मैट्रिक्स ऑब्जेक्ट्स को एक्सएमएल से मैं कैसे सहेज सकता हूं और पढ़ सकता हूं?
- 7. मैं एम्बेडेड संसाधन से फ़ाइल कैसे निकाल सकता हूं और इसे डिस्क पर सहेज सकता हूं?
- 8. MATLAB में, मैं छवि को कैसे प्लॉट कर सकता हूं और इसे प्रदर्शित किए बिना परिणाम कैसे सहेज सकता हूं?
- 9. GuzzleHttp: मैं POST प्रतिक्रिया से कुकीज़ कैसे सहेज सकता हूं और इसे अगले पोस्ट में उपयोग कर सकता हूं?
- 10. मैं LINQ से SQL में अपने ऑब्जेक्ट को अपने डेटाबेस में वापस कैसे सहेज सकता हूं?
- 11. मैं पर्ल में एक्सेल फ़ाइलों को कैसे पढ़ सकता हूं?
- 12. मैं एक नई मॉडल इकाई कैसे बना सकता हूं, और उसके बाद तुरंत इसे पढ़ सकता हूं?
- 13. मैं यूआरएल से फाइल कैसे डाउनलोड कर सकता हूं और इसे रेल में कैसे सहेज सकता हूं?
- 14. मैं स्क्रीनशॉट कैसे ले सकता हूं और इसे विंडोज़ पर जेपीईजी के रूप में कैसे सहेज सकता हूं?
- 15. मैं एसडीएल 2 में बीएमपी स्क्रीनशॉट कैसे ले सकता हूं और सहेज सकता हूं?
- 16. मैं एक नई कुंजी जोड़ी कैसे बना सकता हूं और उन्हें फ़ाइलों में सहेज सकता हूं?
- 17. Google ऐप स्क्रिप्ट: मैं स्प्रेडशीट की प्रति कैसे बना सकता हूं और इसे विशेष फ़ोल्डर में सहेज सकता हूं?
- 18. मैं WPF में वैश्विक एप्लिकेशन चर कैसे सहेज सकता हूं?
- 19. मैं वेब पेज की सामग्री कैसे प्राप्त कर सकता हूं और इसे स्ट्रिंग वेरिएबल में सहेज सकता हूं
- 20. मैं .docx फ़ाइल कैसे पढ़ सकता हूं?
- 21. मैं जीपीयू लोड कैसे पढ़ सकता हूं?
- 22. मैं फॉगबगज़ को ईमेल कैसे भेज सकता हूं और इसे एक बग में बना सकता हूं?
- 23. मैं फ़ाइल में संरचना कैसे सहेज सकता हूं .... सी लैंग
- 24. मैं प्रक्रिया कैसे शुरू कर सकता हूं और इसे अजगर में पृष्ठभूमि में रख सकता हूं?
- 25. मैं कोको में एक पर्यावरण चर कैसे पढ़ सकता हूं?
- 26. मैं बड़ी फ़ाइलों को कैसे पढ़ सकता हूं, प्रतिस्थापित और लिख सकता हूं?
- 27. पर्ल में पीडीएफ 1.5 फाइलों को मैं कैसे पढ़ और छेड़छाड़ कर सकता हूं?
- 28. ओपनसीवी में एक्सएमएल-स्ट्रिंग से मैं कैसे पढ़ सकता हूं?
- 29. मैं जावा में यूआरएल से छवि कैसे पढ़ सकता हूं?
- 30. मैं कुंजी को दबाकर रख सकता हूं और इसे वीएससीओडी में दोहरा सकता हूं?
शपथ बनाने के लिए उदाहरण है। लेकिन हम टेक्स्टफाइल का उपयोग करके कैसे पढ़ सकते हैं, क्योंकि saveAsText कई अलग-अलग फाइलें बनायेगा। – pythonic
@pythonic मेरा अपडेट देखें - आप फ़ाइल की रेंज पढ़ सकते हैं। आरडीडी का प्रत्येक भाग फाइल 'part-XYZŹŻ' में सहेजा जाता है, इसलिए हम इस तरह के नाम की प्रत्येक फाइल को पढ़ सकते हैं –