val df = sc.parallelize(Seq((1,"Emailab"), (2,"Phoneab"), (3, "Faxab"),(4,"Mail"),(5,"Other"),(6,"MSL12"),(7,"MSL"),(8,"HCP"),(9,"HCP12"))).toDF("c1","c2")
+---+-------+
| c1| c2|
+---+-------+
| 1|Emailab|
| 2|Phoneab|
| 3| Faxab|
| 4| Mail|
| 5| Other|
| 6| MSL12|
| 7| MSL|
| 8| HCP|
| 9| HCP12|
+---+-------+
मैं उन रिकॉर्ड्स को फ़िल्टर करना चाहता हूं जिनमें कॉलम 'सी 2' या तो 'एमएसएल' या 'एचसीपी' के पहले 3 अक्षर हैं।स्पार्क डेटाफ्रेम फ़िल्टर
तो आउटपुट नीचे जैसा होना चाहिए।
+---+-------+
| c1| c2|
+---+-------+
| 1|Emailab|
| 2|Phoneab|
| 3| Faxab|
| 4| Mail|
| 5| Other|
+---+-------+
क्या कोई इस पर सहायता कर सकता है?
मुझे पता था कि df.filter($"c2".rlike("MSL"))
- यह रिकॉर्ड चुनने के लिए है लेकिन रिकॉर्ड को कैसे बाहर निकालना है। ?
संस्करण: स्पार्क 1.6.2 स्काला: 2,10
'वैल DF1 = df.filter (नहीं (df (" c2 ") ===" एम एस एल ") && नहीं (df (" c2 ") ===" HCP ")) ' मैं इस तरह कुछ कोशिश कर रहा हूँ। – Ramesh
वैल df1 = df.filter (नहीं (डीएफ ("सी 2")। Rlike ("एमएसएल")) && नहीं (डीएफ ("सी 2")। Rlike ("एचसीपी")) – Ramesh