如何在SPARK SQL中舍入小数

Sourav_Bharadwaj

我有一个带有以下数据的Scala Spark SQL。如何将分数离散化/四舍五入到下面给出的最接近的小数位。由于我没有为此找到任何预定义的功能。谁能帮我解决这个问题。

49.5 --> from 49.50 to 49.99 
50 ---> 50.0 to 50.49
50.5 --->50.5 to 50.99 
4.5 ---> 4.50 to 4.99
5.0 ---> 5.0 to 5.49
9.5 --> 9.50 to 9.99
10--->10 to 10.49

我希望将49.50到49.99的值设为49.5,将10到10.49的值设为10。很快

麦克

舍入任何数字的更通用解决方案(我又添加了两行进行说明)。

val df2 = df.withColumn("val2", ((col("val") / 0.5).cast("int"))*0.5)

df2.show
+-----+----+
|  val|val2|
+-----+----+
| 49.5|49.5|
|49.99|49.5|
| 50.0|50.0|
|  1.1| 1.0|
|  9.9| 9.5|
| 10.0|10.0|
+-----+----+

对于Spark SQL:

df.createOrReplaceTempView("df")
spark.sql("select val, int(val / 0.5) * 0.5 as val2 from df").show
+-----+----+
|  val|val2|
+-----+----+
| 49.5|49.5|
|49.99|49.5|
| 50.0|50.0|
|  1.1| 1.0|
|  9.9| 9.5|
| 10.0|10.0|
+-----+----+

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在 JQUERY 中舍入小数

来自分类Dev

如何舍入 Spark sql 中的值

来自分类Dev

如何在Dash Table中舍入小数位

来自分类Dev

如何在C#中获取小数的舍入值

来自分类Dev

如何在Swift 2中舍入小数位

来自分类Dev

如何在比率公式内的 Excel 中舍入尾随小数

来自分类Dev

如何在javascript中舍入数字(仅在小数部分的结果中)?

来自分类Dev

如何在SQL Server中查找浮点舍入错误

来自分类Dev

如何在SQL Server中查找浮点舍入错误

来自分类Dev

如何在Perl中舍入到给定的小数位数

来自分类Dev

如何在Ruby中舍入到两位小数2.2034并具有2.20而不是2.2

来自分类Dev

如何舍入或舍入小数位?

来自分类Dev

如何舍入 SQL Server 中的以下值?

来自分类Dev

SQL-如何舍入到小数点后两位

来自分类Dev

如果值在PHP中为小数,如何获取舍入值?

来自分类Dev

如何在bash中使用bc舍入小数?

来自分类Dev

如何在Spark SQL上处理AnalysisException?

来自分类Dev

如何取消symfony格式的舍入小数?

来自分类Dev

如何在Spark中解码HTML实体?

来自分类Dev

如何在Spark中收集单个列?

来自分类常见问题

如何在Spark中覆盖输出目录

来自分类Dev

如何在Spark Table中创建索引?

来自分类Dev

如何在Spark中访问此类数据

来自分类Dev

如何在Spark中实现“交叉加入”?

来自分类Dev

如何在Spark中配置HBase?

来自分类Dev

如何在Spark中读取嵌套集合

来自分类Dev

如何在Spark中返回空字段

来自分类Dev

如何在Spark中释放数据帧?

来自分类Dev

如何在Spark中执行辅助排序?