2017-01-28 22 views
6

से स्ट्रीम के रूप में फ़ाइल को पढ़ा गया है, मैं अपाचे स्पार्क जावा का उपयोग करके एचडीएफएस से स्ट्रीम के रूप में फ़ाइल कैसे पढ़ सकता हूं? मैं पूरी फ़ाइल नहीं पढ़ना चाहता, मैं कुछ शर्त मिलने पर फ़ाइल पढ़ने को रोकने के लिए फ़ाइल स्ट्रीम रखना चाहता हूं, मैं इसे अपाचे स्पार्क के साथ कैसे कर सकता हूं?अपाचे स्पार्क एचडीएफएस

+0

यह चेक करें :: https://github.com/apache/spark/blob/master/examples/src/main/scala/org/apache/spark/examples/streaming/HdfsWordCount.scala – yoga

+0

यह उदाहरण नहीं है मेरे प्रश्न से संबंधित है। – Maksym

+0

क्या आप बेहतर समझ सकते हैं कि आप क्या हासिल करने की कोशिश कर रहे हैं? आपको इसे स्ट्रीम के रूप में क्यों चाहिए (जैसा कि इसे बस आरडीडी/डाटाफ्रेम के रूप में पढ़ने के विपरीत)? क्या आप पूछ रहे हैं कि स्पार्क स्ट्रीमिंग को एचडीएफएस निर्देशिका की सामग्री को कैसे पढ़ा जाए और इसे कब किया जाए (अगली बार अवधि की प्रतीक्षा करने के बजाय)? क्या आप डीस्ट्रीम या संरचित स्ट्रीमिंग के बारे में भी बात कर रहे हैं? –

उत्तर

1

आप एसएससी विधि

वैल एसएससी का उपयोग कर स्ट्रीमिंग HDFS फ़ाइल का उपयोग कर सकते = नए StreamingContext (sparkConf, सेकंड (batchTime))

वैल dStream = ssc.fileStream [LongWritable, पाठ, TextInputFormat] ( streamDirectory , (एक्स: पथ) => true, newFilesOnly = false)

एपीआई परम फिल्टर समारोह ऊपर का उपयोग करते हुए कार्रवाई करने के लिए पथ फिल्टर करने के लिए।

यदि आपकी स्थिति फ़ाइल पथ/नाम के साथ नहीं है और डेटा के आधार पर है, तो स्थिति को संतुष्ट करने पर आपको स्ट्रीमिंग संदर्भ को रोकने की आवश्यकता है।

इसके लिए आपको थ्रेड कार्यान्वयन, 1 का उपयोग करने की आवश्यकता है 1) एक थ्रेड में आपको स्ट्रीमिंग संदर्भ की जांच करना बंद कर दिया जाता है और यदि एसएससी बंद हो जाता है तो अन्य थ्रेड को प्रतीक्षा करने और नए स्ट्रीमिंग संदर्भ बनाने के लिए सूचित करें।

2) दूसरे धागे में, आपको स्थिति की जांच करने की आवश्यकता है और यदि स्थिति संतुष्ट होती है तो स्ट्रीमिंग संदर्भ बंद कर दें।

अगर आपको स्पष्टीकरण की आवश्यकता है तो कृपया मुझे बताएं।

+0

समस्या है कि मेरे पास दो हद तक फाइलें हैं और मैं प्रत्येक से केवल कुछ पंक्तियां पढ़ना चाहता हूं (कुछ से अरबों तक)। आपका समाधान बहुत महंगा होगा। – Maksym

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