Скажем, у меня есть фрейм данных с именем "orderitems" со схемой ниже
DataFrame[order_item_id: int, order_item_order_id: int, order_item_product_id: int, order_item_quantity: int, order_item_subtotal: float, order_item_product_price: float]
Итак, для проверки качества данных мне нужно убедиться, что все строки удовлетворяют формуле: order_item_subtotal =(order_item_quantity * order_item_product_price) .Для этого мне нужно добавить отдельный столбец с именем «valid», который должен иметь «Y» в качестве значения для всех тех строк, которые удовлетворяют приведенной выше формуле, а для всех остальных строк он должен иметь «N» в качестве значения.Я решил использовать when () и else () вместе с методом withColumn (), как показано ниже.
orderitems.withColumn("valid",when(orderitems.order_item_subtotal != (orderitems.order_item_product_price * orderitems.order_item_quantity),'N').otherwise("Y"))
Но он возвращает меня ниже Ошибка:
TypeError: 'Column' object is not callable
Я знаю, что это произошлопотому что я пытался умножить два объекта столбца.Но я не уверен, как решить эту проблему, так как я все еще нахожусь в процессе изучения искры.Я хотел бы знать, как это исправить.Я использую Spark 2.3.0 с Python