为什么sparksession.sql(“set hive.support.quoted.identifiers=none”)不起作用?

pgky5nke  于 2021-06-24  发布在  Hive
关注(0)|答案(1)|浏览(807)

我想在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: ... ...
6jjcrrmo

6jjcrrmo1#

你能试着启用正则表达式吗?默认情况下,此行为是禁用的,因此在运行带有regex列的查询之前,需要将下面的属性设置为true。

spark.sql("SET spark.sql.parser.quotedRegexColumnNames=true")

相关问题