簡體   English   中英

Pyspark:將SQL邏輯(查詢)轉換為PySpark?

[英]Pyspark: Convert SQL logic (query) to PySpark?

我有一組帶有一些案例陳述的查詢。 我需要在 PySpark 中轉換相同的邏輯。

case when wo_status = 'COMPLETED'  and nvl(resolution,'') not in ('CANCELLING ORDER','CANCEL ORDER','CLOSE SRO')
then 1 else 0 end as completed, --these resolutions indicate cancelled tickets, so even if they come in as closed, call it cancelled
case when wo_status = 'CREATED' then 1 else 0 end as created,
case when wo_status = 'PENDING'  and nvl(resolution,'') not in ('CANCELLING ORDER','CANCEL ORDER','CLOSE SRO') then 1 else 0 end as pending,
case when wo_status = 'CANCELLED'  or ( wo_status in ('COMPLETED','PENDING' ) and nvl(resolution,'') in ('CANCELLING ORDER','CANCEL ORDER','CLOSE SRO') ) then 1 else 0 end as cancelled.

如果有人知道如何在 pyspark 中實現相同的邏輯,將不勝感激。

您可以使用pyspark 文檔中的方法。

your_df = df.withColumn("logic_column", F.when(condition, value).when(...).otherwise(..)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM