spark sql是否区分大小写?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

spark sql是否区分大小写?

社区小助手 2018-12-05 14:17:19 5302

看起来spark sql对“喜欢”的查询区分大小写,对吧?

spark.sql("select distinct status, length(status) from table")
返回

Active|6

spark.sql("select distinct status from table where status like '%active%'")
不返回任何值

spark.sql("select distinct status from table where status like '%Active%'")
返回

Active

sql大小 sql大小写
分享到
取消 提交回答
全部回答(2)
  • 道月芬
    2021-10-12 11:45:04

    是否与字段类型有关系呢,在es中keyword是明确的内容,text是会分词的,我觉得应该spark也有类似的东西

    0 0
  • 社区小助手
    2019-07-17 23:18:22

    是的,Spark区分大小写。对于字符串比较,大多数RDBMS默认区分大小写。如果您想要不区分大小写,请尝试rlike或将列转换为大写/小写。

    scala> val df = Seq(("Active"),("Stable"),("Inactive")).toDF("status")
    df: org.apache.spark.sql.DataFrame = [status: string]

    scala> df.createOrReplaceTempView("tbl")

    scala> df.show
    status
    Active
    Stable
    Inactive
    scala> spark.sql(""" select status from tbl where status like '%Active%' """).show
    status
    Active
    scala> spark.sql(""" select status from tbl where lower(status) like '%active%' """).show
    status
    Active
    Inactive

    scala>

    0 0
添加回答
大数据
使用钉钉扫一扫加入圈子
+ 订阅

大数据计算实践乐园,近距离学习前沿技术

相似问题
最新问题