में शून्य मानों को खाली सरणी में कनवर्ट करें मेरे पास स्पार्क डेटा फ्रेम है जहां एक कॉलम पूर्णांक की सरणी है। कॉलम शून्य है क्योंकि यह बाएं बाहरी जुड़ने से आ रहा है। मैं सभी शून्य मानों को एक खाली सरणी में परिवर्तित करना चाहता हूं इसलिए मुझे बाद में नल से निपटने की ज़रूरत नहीं है।स्पार्क डेटाफ्रेम
मैंने सोचा कि मैं यह इतना की तरह कर सकता है:
val myCol = df("myCol")
df.withColumn("myCol", when(myCol.isNull, Array[Int]()).otherwise(myCol))
बहरहाल, यह निम्न अपवाद में परिणाम:
java.lang.RuntimeException: Unsupported literal type class [I [[email protected]
at org.apache.spark.sql.catalyst.expressions.Literal$.apply(literals.scala:49)
at org.apache.spark.sql.functions$.lit(functions.scala:89)
at org.apache.spark.sql.functions$.when(functions.scala:778)
जाहिर सरणी प्रकार when
समारोह द्वारा समर्थित नहीं हैं। शून्य मूल्यों को बदलने के लिए कोई और आसान तरीका है?
|-- myCol: array (nullable = true)
| |-- element: integer (containsNull = false)
coalesce sql फ़ंक्शन https://docs.oracle.com/database/121/SQLRF/functions033.htm#SQLRF00617 – gasparms