可以通过 ISNUMERIC 函数过滤 Spark 数据帧吗?

tes*_*acc 5 scala apache-spark

DataFrame在 SQL 中有一个表。DataFrame如果某个列的值是数字,我想过滤它。

val df = sqlContext.sql("select * from myTable");
val filter = df.filter("ISNUMERIC('col_a')");
//I want filter to be a dataframe of df where the values in col_a are numeric.
Run Code Online (Sandbox Code Playgroud)

我目前的解决方案不起作用。我怎样才能做到这一点?

Sha*_*ala 3

你可以filter作为

df.filter(row => row.getAs[String]("col_a").matches("""\d+"""))
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!