Получение ошибки в предложении когда / иначе - PullRequest
0 голосов
/ 05 июля 2019

Я пытаюсь создать новый столбец в кадре данных на основе данных трех других столбцов. Ниже код, который я написал для того же

dataFrame.withColumn('net_inventory_qty', when((dataFrame.raw_wip_fg_indicator =='RAW MATERIALS') |
                        (dataFrame.raw_wip_fg_indicator =='WIP') |
                        (dataFrame.raw_wip_fg_indicator =='FINISHED GOODS'), dataFrame.total_stock_qty+dataFrame.sit_qty).
                        otherwise(dataFrame.sit_qty))

Но когда я запускаю Glue Job, появляется ошибка

pyspark.sql.utils.AnalysisException: u"cannot resolve '(`total_stock_qty` + `sit_qty`)' due to data type mismatch: differing types in '(`total_stock_qty` + `sit_qty`)' (struct<double:double,string:string> and double)

Чего мне не хватает? Любое предложение поможет

1 Ответ

0 голосов
/ 05 июля 2019

Поскольку, проверяя вашу схему, в соответствии с сообщением об ошибке, я могу разместить 2 столбца следующего типа:

total_stock_qty: struct<double:double,string:string>
sit_qty: double

Вы можете распечататьSchema () или show (), чтобы сначала проверить данные

...