Как вернуть сложную структуру из UDF Pandas в PySpark?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как вернуть сложную структуру из UDF Pandas в PySpark?

Сообщение Anonymous »

Мне сложно написать пользовательскую функцию Pandas, которая возвращала бы сложный объект структуры. У меня есть функция со следующей сигнатурой:

Код: Выделить всё

def recipe_generator(
shop_type_column: pd.Series,
image_variant_id_column: pd.DataFrame,
product_id_column: pd.Series,
) -> pd.DataFrame:
где тип возвращаемого значения структуры примерно следующий:

Код: Выделить всё

T.StructType(
[
T.StructField("url", T.StringType()),
T.StructField(
"devicePixelRatios",
T.StructType(
[
T.StructField("original", T.StringType()),
T.StructField("1.5", T.StringType()),
T.StructField("2.0", T.StringType()),
]
),
),
T.StructField(
"formats",
T.StructType(
[
T.StructField("thumb-75", T.StringType()),
T.StructField("medium-200", T.StringType()),
T.StructField("medium-360", T.StringType()),
T.StructField("large-720", T.StringType()),
T.StructField("original", T.StringType()),
]
),
),
T.StructField("variants", T.ArrayType(T.StructType([T.StructField("id", T.StringType())]))),
]
)
Однако я не могу этого добиться - я что-то чиню тут и там, но безрезультатно. Мне удалось реализовать решение через чистый udf, версию без панд, но здесь — безуспешно. Имейте в виду, что image_variant_id_column имеет тип массива, что, я считаю, еще больше усложняет ситуацию. Есть ли какая-то ошибка в моем подходе? Что мне следует исправить, чтобы это прошло? Может быть, есть какой-то трюк, позволяющий вернуть такую ​​сложную структуру?

Подробнее здесь: https://stackoverflow.com/questions/792 ... in-pyspark
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»