我是spark java api的新手。我想筛选列不是数字的数据集。我的数据集ds1是这样的。
+---------+------------+
| account| amount |
+---------+------------+
| aaaaaa | |
| aaaaaa | |
| bbbbbb | |
| 123333 | |
| 555555 | |
| 666666 | |
我想返回数据集ds2,如下所示:
+---------+------------+
| account| amount |
+---------+------------+
| 123333 | |
| 555555 | |
| 666666 | |
我试过了,但身份证不适合我。
ds2=ds1.select("account"). where(dsFec.col("account").isNaN());
有人能指导我用一个示例Spark表达式来解决这个问题吗。
3条答案
按热度按时间eoxn13cs1#
只需强制转换并检查结果是否为空:
sxissh062#
您可以定义
udf
函数来检查字符串account
列是否为数字然后使用
callUDF
函数调用udf
作为这应该给你
jm2pwxwz3#
一种方法是:
scala等效值:
也可以使用java的try-catch: