Scala:在scala中检查变量是不是为整数
Posted
技术标签:
【中文标题】Scala:在scala中检查变量是不是为整数【英文标题】:Scala:Checking whether a variable is an integer or not in scalaScala:在scala中检查变量是否为整数 【发布时间】:2018-08-09 11:02:58 【问题描述】:我是 scala 的新手,想编写一个 udf 和方法来检查数据框中的列是否为整数。如果它的 int 则对应的值应该为 true 否则为 false。
【问题讨论】:
你自己已经尝试过什么?代码? def checkint(a:String)= val i="[0-9]*".r a match case i()=>true case _=>false Spark Data Frames - Check if column is of type integer的可能重复 它在 python 中.. 我想要在 scala 中 完成:创建一个udf val checkint=udf((a:String)=> val i="[0-9]*".r a match case i()=>true case _ =>false ) 并且能够获得所需的输出。:) 【参考方案1】:创建一个udf
,它以String
为参数并返回Boolean
,在udf
内直接将字符串转换为Try
块内的整数,稍后检查它是success
还是failure
如下所示
import org.apache.spark.sql.functions._
import scala.util.Try
import scala.util.Success
val checkIntUDF = udf (x: String) => val y = Try(x.toInt); y match case Success(x) => true; case _ => false;
【讨论】:
以上是关于Scala:在scala中检查变量是不是为整数的主要内容,如果未能解决你的问题,请参考以下文章