spark when算子
时间: 2024-08-25 21:01:25 浏览: 46
spark基本算子操作
Spark SQL中的`when`算子是一个条件表达式,它允许我们在查询结果集中应用特定的条件并返回相应的值。这个算子类似于SQL的CASE WHEN语句,但在Spark DataFrame API中更为简洁易用。`when`通常与`otherwise`一起使用,其基本语法如下:
```sql
when(condition, value) [when(condition, value) ...] otherwise default_value
```
例如,假设我们有一个DataFrame,我们想对某个列根据条件设置不同的值:
```python
from pyspark.sql import functions as F
df = df.withColumn('new_column', F.when(df['old_column'] > 0, 'positive').when(df['old_column'] < 0, 'negative').otherwise('zero'))
```
这里,如果`old_column`大于0,则`new_column`将为'positive';如果小于0,则为'negative';其他情况(等于0或不在上述两个条件下)则为'default_value'(在这个例子中默认为'zero')。
阅读全文