Я пытаюсь переместить столбец в строки. Сначала объедините столбцы в массив. Второй шаг - разделите столбец массива.
Функция разнесения не работает ..
>>> filteredPaths1.select( array ( concat( col("v1.id"),lit(","),col("v2.id"),lit(",") ,col("v2.id") )).alias("test") ).printSchema()
root
|-- test: array (nullable = false)
| |-- element: string (containsNull = true)
Значения в столбце массива -
>>> filteredPaths1.select( array ( concat( col("v1.id"),lit(","),col("v2.id"),lit(",") ,col("v2.id") )).alias("test") ).show(10,False)
+--------------------------------------------------------------+ ]
|test |
+--------------------------------------------------------------+
|[Sorter_SAMPLE_CUSTOMER,Join_Source_Target,Join_Source_Target]|
+--------------------------------------------------------------+
Однако при попытке взорвать столбец массива он не создает новые строки, а просто дает тот же результат -
>>> filteredPaths1.select( explode (array ( concat( col("v1.id"),lit(","),col("v2.id"),lit(",") ,col("v2.id") )).alias("test") ) ).show(10,False)
+------------------------------------------------------------+ ]
|col |
+------------------------------------------------------------+
|Sorter_SAMPLE_CUSTOMER,Join_Source_Target,Join_Source_Target|
+------------------------------------------------------------+
По какой-либо причине Explode не работает?