मेरे पास इस फॉर्म का डेटाफ्रेम है

+--------------------------------------+-----------------------------+
|hashMap                               |name                         |
+--------------------------------------+-----------------------------+
|[{"A":"0","B":"0","C":"0"}, {"X":"0"}]|[M, D]                       |
+--------------------------------------+-----------------------------+

मैं इसे इसमें विभाजित करना चाहता हूं

+--------------------------------------+-----------------------------+
|hashMap                               |name                         |
+--------------------------------------+-----------------------------+
|"A":"0","B":"0","C":"0"               | M                           |
|"X":"0"                               | D                           |
+--------------------------------------+-----------------------------+

मैं विस्फोट विभाजन जानता हूं, लेकिन मुझे नहीं पता कि यह दो स्तंभों पर काम करेगा या नहीं। साथ ही, यह संभव है कि कभी-कभी दोनों स्तंभों में केवल एक ही मान हो

उदाहरण के लिए

+-----------+-----------+
|hashMap    |name       |
+-----------+-----------+
|[{"A":"0"} |[M]        |
+-----------+-----------+

स्केल में इसे संभालने के लिए विस्फोट सामान्य कैसे विभाजित करते हैं?

0
KAY_YAK 2 जून 2021, 16:47

1 उत्तर

सबसे बढ़िया उत्तर

आप सरणियों को ज़िप कर सकते हैं और inline का उपयोग करके उनमें विस्फोट कर सकते हैं:

val df2 = df.selectExpr("inline(arrays_zip(hashMap, name))")
2
mck 2 जून 2021, 16:56