apache-spark - Spark SQL - 类似忽略大小写
问题描述
我正在使用 spark SQL 并尝试使用rlike
它来比较字符串工作正常,但是想了解如何忽略大小写。
这返回真
select "1 Week Ending Jan 14, 2018" rlike "^\\d+ Week Ending [a-z, A-Z]{3} \\d{2}, \\d{4}"
但是,这返回 False,
select "1 Week Ending Jan 14, 2018" rlike "^\\d+ week ending [a-z, A-Z]{3} \\d{2}, \\d{4}"
解决方案
Spark 使用标准的 Scala 正则表达式库,因此您可以在模式中内联处理标志,例如(?i)表示不区分大小写:
spark.sql("""select "1 Week Ending Jan 14, 2018" rlike "(?i)^\\d+ week ending [a-z, A-Z]{3} \\d{2}, \\d{4}"""").show()
+--------------------------------------------------------------------------------+
|1 Week Ending Jan 14, 2018 RLIKE (?i)^\d+ week ending [a-z, A-Z]{3} \d{2}, \d{4}|
+--------------------------------------------------------------------------------+
| true|
+--------------------------------------------------------------------------------+
推荐阅读
- apache-kafka-streams - KStream to KStream Join- 输出记录在窗口内没有匹配记录的情况下发布可配置的时间
- apache-kafka - Kafka fetch max bytes 无法按预期工作
- django - RecursionError:超出最大递归深度
- c++ - 函数内部的模板结构
- sql-server - 使用 bak 文件恢复数据库。备份集保存现有数据库以外的数据库的备份
- ruby - RGeo:如何使用 SRID 将投影坐标转换为纬度/经度
- macos - 如何覆盖 DriverKit OSData 内部缓冲区的一部分?
- websocket - 如何更好地解决空手道中的 websocket 握手失败
- r - 如何让 set.seed() 和 sample() 产生相同的结果
- java - 如何解决 HTTP 状态的 CORS 策略不正确?