首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spark SQL语句

Spark SQL语句
EN

Stack Overflow用户
提问于 2018-10-12 09:44:33
回答 3查看 24.7K关注 0票数 0

如何在一个范围内找到薪水?下面是我的代码,用于查找10000到20000年间的薪资:

代码语言:javascript
复制
empData.where($"Salary" > 10000 && $"Salary" < 20000).orderBy($"Salary".desc).show()

我认为应该有一个使用between的替代解决方案。如何使用between方法?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-10-12 10:55:49

我相信在两者之间有其他的解决方案。

就像这样:

代码语言:javascript
复制
empData.where($"Salary".between(10000, 20000))
票数 13
EN

Stack Overflow用户

发布于 2018-10-12 10:06:19

如果希望在之间使用,可以使用sparkSQL并运行逻辑作为查询。例如:

代码语言:javascript
复制
empData.createOrReplaceTempView("empDataTempTable")

val filteredData = spark.sql("select * from empDataTempTable where salary between 10000 and 20000 order by salary desc")

 filteredData.show()

对于列中的随机查找和筛选过程,sparkSQL和DataFrame提供了几乎相同的性能结果。

票数 2
EN

Stack Overflow用户

发布于 2021-11-09 06:02:55

代码语言:javascript
复制
empData.filter(col("Salary").between(10000 ,20000)).orderBy(col("Salary").desc());

代码语言:javascript
复制
empData.where(col("Salary").between(10000 ,20000)).orderBy(col("Salary").desc());
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52776785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档