1.往sql里面传$
搬砖要换着法搬,往
spark.sql(s"""
""")
里面传入$,正斜线,反斜线转义没毛用,聪明的人会看下图
还可以$$就解决了。
2. sparksql中按照竖线切分指定字段
spark.sql(
s"""
|select
| event_os as os,event_cuid,
| split(event_cuid, '\\\\|') [0] as deviceidaa
|from aa
|where 。。。。。
|""".stripMargin).show(false)
要是sparksql funtions里面的split方法应该这么用
* spark sql 关于特殊字符的转义 * 关于点的问题是用string.split("[.]") 解决。 关于竖线的问题用 string.split("\\|")解决。 关于星号的问题用 string.split("\\*")解决。 关于斜线的问题用 sring.split("\\\\")解决。 关于中括号的问题用 sring.split("\\[\\]")解决。 */