我想在SparkSession.sql中使用正则表达式,但是无论我是否使用都无效:
SparkSession.builder.enableHiveSupport().config("hive.support.quoted.identifiers", None)
或
SparkSession.sql("set hive.support.quoted.identifiers=None")
。
请告诉我该怎么做。
代码:
ss = (pyspark.sql.SparkSession
.builder
.enableHiveSupport()
.config("hive.support.quoted.identifiers", None)
.getOrCreate())
#ss.sql("set hive.support.quoted.identifiers=None")
ss.sql("SELECT `(col)?+.+` FROM table")
程序结果:
pyspark.sql.utils.AnalysisException: "cannot resolve '`(col)?+.+`' given input columns: ... ...
答案 0 :(得分:1)
您可以尝试启用RegEx吗?默认情况下,此行为是禁用的,因此在使用RegEx列运行查询之前,需要将以下属性设置为true。
spark.sql("SET spark.sql.parser.quotedRegexColumnNames=true")