gpt4 book ai didi

apache-spark-sql - 需要 Spark sql 中 SQL IsNumeric 函数的等效功能

转载 作者:行者123 更新时间:2023-12-03 08:54:24 24 4
gpt4 key购买 nike

就像我们有 SQL ISNUMERIC 函数来验证表达式是否为数字一样,我需要 Spark SQL 中是否有任何等效的函数,我试图找到它但无法找到它。请问是否有人可以提供帮助或建议?

最佳答案

尝试使用spark udf,这种方法将帮助您克隆任何函数 -

scala> spark.udf.register("IsNumeric", (inpColumn: Int) => BigInt(inpColumn).isInstanceOf[BigInt])
res46: org.apache.spark.sql.expressions.UserDefinedFunction = UserDefinedFunction(<function1>,BooleanType,Some(List(IntegerType)))

scala> spark.sql(s""" select "ABC", IsNumeric(123) as IsNumeric_1 """).show(false)
+---+-----------+
|ABC|IsNumeric_1|
+---+-----------+
|ABC|true |
+---+-----------+


scala> spark.sql(s""" select "ABC", IsNumeric("ABC") as IsNumeric_1 """).show(false)
+---+-----------+
|ABC|IsNumeric_1|
+---+-----------+
|ABC|null |
+---+-----------+

这里,如果列值不是整数,上面的函数将返回 null。

希望这会有所帮助。

关于apache-spark-sql - 需要 Spark sql 中 SQL IsNumeric 函数的等效功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56726536/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com