У меня есть фрейм данных, в котором я пытаюсь создать новый столбец на основе значений существующего столбца:
dfg = dfg.withColumn("min_time",
F.when(dfg['list'].isin(["A","B"]),dfg['b_time'])
.when(dfg['list']=="C",dfg['b_time'] +2)
.when(dfg['list']=="D",F.when(dfg['b_time']==0,lit(10)).otherwise(2*dfg['b_time'])).when(dfg['list'].isin(['E','F']),dfg['b_time']).when(dfg['list'].isin(["A","B","C","D",'E','F'])==False,lit('unknown category'))
.otherwise('unknown'))
Я хочу добиться в последнем условии .when, если значения столбца dfg ['list'] не принадлежат ни одному из элементов в списке = ["A", "B", "C", "D" , 'E', 'F'], я хочу вызвать ошибку выполнения с сообщением. Не уверен, как это сделать в pyspark. Также, если я создаю столбцы на основе условных операторов, то есть .when и .otherwise, как использовать блоки try except.
Я использую pyspark 1.6. Любая помощь очень ценится.