У вас есть прямое сравнение из столбца с value
, которое не будет работать. Вам нужно будет составить столбец этого value
, используя lit()
Попробуйте преобразовать свой код в:
cost_allocation_df = cost_allocation_df.withColumn('resource_tags_user_engagement',
f.when(
((f.col('line_item_usage_account_id') == f.lit('123456789101')) |
(f.col('line_item_usage_account_id') == f.lit('1098765432101'))) &
(f.col('resource_tags_user_engagement') == f.lit('') ) |
(f.col('resource_tags_user_engagement').isNull()) |
(f.col('resource_tags_user_engagement').rlike('^[a-zA-Z]')), '10546656565'
).otherwise(f.col('resource_tags_user_engagement')))