मेरे पास एक जटिल डेटाफ्रेम संरचना है और आसानी से कॉलम को खाली करना चाहूंगा। मैंने अंतर्निहित कक्षाएं बनाई हैं जो तार कार्यक्षमता और आसानी से 2 डी डेटाफ्रेम संरचनाओं को संबोधित करती हैं लेकिन एक बार डेटाफ्रेम ऐरेटाइप या मैपटाइप के साथ अधिक जटिल हो जाने पर मुझे बहुत भाग्य नहीं मिला है। उदाहरण के लिए:एक जटिल नेस्टेड संरचना के साथ स्पार्क डेटाफ्रेम को कैसे संशोधित करें?
मैं स्कीमा को परिभाषित किया है के रूप में:
StructType(
StructField(name,StringType,true),
StructField(data,ArrayType(
StructType(
StructField(name,StringType,true),
StructField(values,
MapType(StringType,StringType,true),
true)
),
true
),
true)
)
मैं एक नया DF क्षेत्र MapType की data.value
अशक्त करने के लिए सेट है कि निर्माण करने के लिए चाहते हैं, लेकिन यह एक सरणी का एक तत्व है के रूप में मैं कैसे पता लगाने में सक्षम नहीं है। मैं यह करने के समान होगा लगता होगा:
df.withColumn("data.values", functions.array(functions.lit(null)))
लेकिन यह अंततः data.values
का एक नया स्तंभ बनाता है और डेटा सरणी के values
तत्व को संशोधित नहीं करता है।