dsl case when
时间: 2023-08-30 21:08:43 浏览: 147
DSL中的case和when是用于在Spark SQL中进行条件判断和值映射的。在DSL中,case语句用于根据条件对某个列进行值映射。when语句用于指定条件和相应的值映射。下面是一个示例:
```
val result = spark.sql("""
SELECT id, avg_score,
CASE
WHEN avg_score >= 90 THEN '优秀'
WHEN avg_score >= 80 THEN '良好'
WHEN avg_score >= 70 THEN '中等'
ELSE '不及格'
END AS 等级
FROM table_name
""")
```
上述代码中,当avg_score大于等于90时,等级被映射为'优秀';当avg_score大于等于80时,等级被映射为'良好';当avg_score大于等于70时,等级被映射为'中等';否则,等级被映射为'不及格'。这样,在查询结果中就会添加一列等级来表示每个id对应的平均分的等级。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [flow:帮助你编写动态 CLJS webapps 的轻量级库](https://download.csdn.net/download/weixin_42116805/19819116)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [Spark SQL 从入门到精通 - Spark SQL 行转列、列转行案例](https://blog.csdn.net/m0_49447718/article/details/125516720)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [DSL实现union、join、case when](https://blog.csdn.net/ZZJXP/article/details/124816241)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]
阅读全文