2016-04-08 10 views
7

मेरे पास डेटाफ्रेम है और मैं उस डेटाफ्रेम पर प्रतिस्थापित() org.apache.spark.sql.DataFrameNaFunctions का उपयोग करना चाहता हूं।डेटाफ्रेम पर स्पार्क में DataFrameNaFunctions क्लास द्वारा प्रदान किए गए फ़ंक्शंस का उपयोग कैसे करें?

समस्या: मुझे डेटाफ्रेम के उदाहरण के साथ इन विधियों को बुद्धि (सुझाव) में नहीं मिला है। मैंने उस कक्षा को स्पष्ट रूप से आयात किया।

मैं कोई भी सामान नहीं ढूंढ पा रहा हूं जो मुझे इन कार्यों का उपयोग करने के तरीके या डेटाफ्रेम को DataFrameNaFunctions के प्रकार के तरीके के बारे में कुछ प्रदर्शन दे सकता है।

मैंने इसे asInstanceof[] विधि का उपयोग करके डालने की कोशिश की लेकिन यह अपवाद फेंकता है।

उत्तर

15

यह थोड़ा उलझन में हो सकता है लेकिन यह ईमानदार होने के लिए काफी सरल है। यहाँ एक छोटा सा उदाहरण है:

scala> val df = sqlContext.read.format("com.databricks.spark.csv").option("header","true").option("inferSchema","true").load("na_test.csv") 
// df: org.apache.spark.sql.DataFrame = [name: string, age: int] 

scala> df.show() 
// +-----+----+ 
// | name| age| 
// +-----+----+ 
// |alice| 35| 
// | bob|null| 
// |  | 24| 
// +-----+----+ 

scala> df.na.fill(10.0,Seq("age")) 
// res4: org.apache.spark.sql.DataFrame = [name: string, age: int] 

// scala> df.na.fill(10.0,Seq("age")).show 
// +-----+---+ 
// | name|age| 
// +-----+---+ 
// |alice| 35| 
// | bob| 10| 
// |  | 24| 
// +-----+---+ 

scala> df.na.replace("age", Map(35 -> 61,24 -> 12))).show() 
// +-----+----+ 
// | name| age| 
// +-----+----+ 
// |alice| 61| 
// | bob|null| 
// |  | 12| 
// +-----+----+ 

तक पहुंचने के लिए org.apache.spark.sql.DataFrameNaFunctions आप .na.

+2

फिर कॉल कर सकते हैं .. आप वास्तव में सही हैं। इस तरह के मूर्ख सवाल के लिए मुझे बहुत खेद है। लेकिन मुझे इसका कोई विचार नहीं था .na वैरिएबल DataFrameNaFunctions के कार्यों पर पहुंच प्राप्त कर सकता है। वास्तव में, आने के लिए धन्यवाद। @eliasah –

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