Para o PySpark, encontro crases envolvendo expressões regulares para
DataFrame.colRegex()
here ,
here e nesta questão SO . Aqui está o exemplo da DataFrame.colRegex
string do documento:
df = spark.createDataFrame([("a", 1), ("b", 2), ("c", 3)], ["Col1", "Col2"])
df.select(df.colRegex("`(Col1)?+.+`")).show()
+----+
|Col2|
+----+
| 1|
| 2|
| 3|
+----+
A resposta à pergunta SO
não mostra crases para Scala. Refere-se à documentação Java para a Pattern
classe , mas isso não explica os back-ticks.
Esta página indica o uso de crases em Python para representar a representação de string da variável adornada, mas isso não se aplica a uma expressão regular.
Qual é a explicação para os back-ticks?
Os crases são usados para delimitar o nome da coluna caso inclua caracteres especiais. Por exemplo, se você tivesse uma coluna chamada
column-1
e tentasseVocê provavelmente receberá um
erro, pois o intérprete tratará isso como
SELECT (column) - 1 FROM mytable
. Em vez disso, você pode delimitar o nome da coluna com crases para contornar esse problema: