Есть ли способ расширить массив, например структуру, в Pyspark? Звезда не работает ⇐ Python
Есть ли способ расширить массив, например структуру, в Pyspark? Звезда не работает
У меня есть фрейм данных со следующей вложенностью в Pyspark:
>content: структура важныйId: строка >данные: массив >элемент: структура важныйCol0: строка важныйCol1: строка Мне нужен следующий вывод:
importantId importantCol0 importantCol1 10800005 0397AZ 0397AZ 10800006 0397BZ 0397BZ
Я попробовал следующий код: df1 = df0.select(F.col('content.*'))
Я получил:
importantId данные 10800005 {importantCol0: 0397AZ, важныйCol1: 0397AZ 10800006 {importantCol0: 0397BZ, важныйCol1: 0397BZ
Я добавил:
df2 = df1.select(F.col('importantId'), F.col('data.*')
но я получаю следующую ошибку:
AnalysisException: можно использовать только типы данных структуры со звездочкой. Атрибут: ArrayBuffer(данные).
Кто-нибудь знает, как это исправить? Я ожидал найти способ расширить массив, например структуру
У меня есть фрейм данных со следующей вложенностью в Pyspark:
>content: структура важныйId: строка >данные: массив >элемент: структура важныйCol0: строка важныйCol1: строка Мне нужен следующий вывод:
importantId importantCol0 importantCol1 10800005 0397AZ 0397AZ 10800006 0397BZ 0397BZ
Я попробовал следующий код: df1 = df0.select(F.col('content.*'))
Я получил:
importantId данные 10800005 {importantCol0: 0397AZ, важныйCol1: 0397AZ 10800006 {importantCol0: 0397BZ, важныйCol1: 0397BZ
Я добавил:
df2 = df1.select(F.col('importantId'), F.col('data.*')
но я получаю следующую ошибку:
AnalysisException: можно использовать только типы данных структуры со звездочкой. Атрибут: ArrayBuffer(данные).
Кто-нибудь знает, как это исправить? Я ожидал найти способ расширить массив, например структуру
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение