Преобразование RDD [Array [Double]] в DataFrame [Array [Double]] создает DataFrame [WrappedArray] - PullRequest
0 голосов
/ 12 мая 2018

У меня есть RDD с формой long, int, string, Array[Double], которую мне нужно преобразовать в DataFrame. Преобразование myRDD.toDF() работает нормально, но моя проблема в том, что функция Array [Double] конвертируется в WrappedArray [Double]. Результирующая схема:

root
 |-- _1: long (nullable = false)
 |-- _2: integer (nullable = false)
 |-- _3: string (nullable = true)
 |-- _4: array (nullable = true)
 |    |-- element: double (containsNull = false)

Проблема, с которой я сталкиваюсь, заключается в том, что я не могу применять операции к столбцу _4, как если бы это был массив значений, которые я могу выполнять на СДР. Столбцы WrappedArray, кажется, обрабатываются как строка, начинающаяся с WrappedArray(10.0, 33.4, 1.2, ...). На RDD я могу применять карты к этим элементам, но не к столбцу DataFrame. Как правильно преобразовать элемент Array[Double] из RDD в столбец DataFrame, чтобы значения обрабатывались как последовательность чисел, а не строка "WrappedArray(....)"

...