Spark documentation से पता चलता एक RDD से एक DataFrame बनाने का तरीका, स्काला मामले वर्गों का उपयोग करना एक स्कीमा अनुमान लगाने के लिए। मैं इस अवधारणा को sqlContext.createDataFrame(RDD, CaseClass)
का उपयोग करके पुन: पेश करने की कोशिश कर रहा हूं, लेकिन मेरा डेटाफ्रेम खाली हो गया है। यहाँ मेरी स्काला कोड है:केस-क्लास-आधारित RDD को डेटाफ्रेम में कैसे परिवर्तित करें?
// sc is the SparkContext, while sqlContext is the SQLContext.
// Define the case class and raw data
case class Dog(name: String)
val data = Array(
Dog("Rex"),
Dog("Fido")
)
// Create an RDD from the raw data
val dogRDD = sc.parallelize(data)
// Print the RDD for debugging (this works, shows 2 dogs)
dogRDD.collect().foreach(println)
// Create a DataFrame from the RDD
val dogDF = sqlContext.createDataFrame(dogRDD, classOf[Dog])
// Print the DataFrame for debugging (this fails, shows 0 dogs)
dogDF.show()
उत्पादन मैं दिखाई दे रही है है:
Dog(Rex)
Dog(Fido)
++
||
++
||
||
++
मैं क्या याद आ रही है?
धन्यवाद!
यह काम किया। कोई TypeTag Dog' के लिए उपलब्ध: मैं अपने मुख्य कार्य के बाहर मामले वर्ग की परिभाषा को स्थानांतरित करने के 'त्रुटि से बचने के लिए किया था। धन्यवाद! – sparkour
मैं देख रहा हूँ, बहुत ही दिलचस्प है, तो दूसरा पैरामीटर ही कभी की आवश्यकता है जब जावा एपीआई से फोन कर, स्केला सिर्फ स्वतः प्रकार कि स्तंभों के लिए परिवर्तित किया जाना चाहिए के क्षेत्र की पहचान करेगा? – qwwqwwq