को RDD पारित करने के लिए StructType निर्माण को स्वचालित करने के मैं एक छत फ़ाइल के रूप में RDD
सहेजना चाहते हैं। ऐसा करने के लिए, मैं DataFrame
को RDD गुजरती हैं और फिर मैं एक छत फ़ाइल के रूप में DataFrame
बचाने के लिए एक संरचना का उपयोग करें:कैसे DataFrame
val aStruct = new StructType(Array(StructField("id",StringType,nullable = true),
StructField("role",StringType,nullable = true)))
val newDF = sqlContext.createDataFrame(filtered, aStruct)
सवाल यह है कि कैसे यह सोचते हैं कि उन सभी को StringType
हैं सभी स्तंभों के लिए स्वचालित रूप से aStruct
बनाने के लिए? इसके अलावा, nullable = true
का अर्थ क्या है? क्या इसका मतलब यह है कि सभी रिक्त मूल्य Null
द्वारा प्रतिस्थापित किए जाएंगे?
यदि सुविधाओं की सूची लंबी है तो क्या होगा? मैं ("आईडी", "भूमिका") का उपयोग करने से बचना चाहता हूं। क्या यह मानना संभव है कि प्रत्येक आरडीडी में एक ही संरचना 'आरडीडी [मानचित्र [स्ट्रिंग, कोई भी]]' है, जहां स्ट्रिंग सुविधा है? – duckertito
यदि सुविधाओं की सूची लंबी है तो आप या तो 'toDF' पर कोई पैराम पास नहीं कर सकते हैं (जिसके कारण स्पार्क कॉलम नाम' _1', '_2' ...) का उपयोग करने का कारण बनता है या आप 'colNames' सूची का उपयोग कर सकते हैं और इसे अनपैक कर सकते हैं जैसे इतना: 'myRDD.toDF (colNames: _ *)' –
@duckertito देखें मेरी सबसे हाल संपादित –