gpt4 book ai didi

scala - 在 org.apache.spark.sql.Column 中使用 rlike

转载 作者:行者123 更新时间:2023-12-02 04:01:26 27 4
gpt4 key购买 nike

我正在尝试在我的 Scala 代码中实现一个查询,该代码在 Spark Column 上使用正则表达式来查找列中包含特定值的所有行,例如:

 column.rlike(".*" + str + ".*")

str 是一个字符串,可以是任何内容(nullempty 除外)。

这适用于我正在测试的基本查询。然而,作为 Spark/Scala 的新手,我不确定是否有任何特殊情况可能会破坏我需要处理的代码。是否有任何我需要转义的字符或我需要担心的特殊情况?

最佳答案

这可以被任何无效的正则表达式破坏。你甚至不必努力尝试:

Seq("[", "foo", " ba.r ").toDF.filter($"value".rlike(".*" + "[ " + ".*")).show

或者如果 str 本身是一个非平凡的模式,则可能会产生意想不到的结果。对于像这样的简单情况,使用 Column.contains 会更好:

Seq("[", "foo", " ba.r ").toDF.filter($"value".contains("[")).show
Seq("[", "foo", " ba.r ").toDF.filter($"value".contains("a.r")).show

关于scala - 在 org.apache.spark.sql.Column 中使用 rlike,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41756751/

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