[英]Does Spark-SQL supports Hive Select All Query with Except Columns using regex specification
我正在嘗試使用pyspark包裝器使用SPARK-SQL實現此功能。我遇到了此錯誤
pyspark.sql.utils.AnalysisException: u"cannot resolve '```(qtr)?+.+```'
given input columns:
這是我的查詢。基本上是在嘗試排除列“ qtr”。
select `(qtr)?+.+` from project.table;
使用以下屬性,在蜂巢/直線上工作完美
set hive.support.quoted.identifiers=none;
任何幫助表示贊賞嗎?
Spark允許RegEx作為SELECT
表達式中的列名。 默認情況下,此行為是禁用的。 要啟用它,我們需要在使用RegEx列運行查詢之前將以下屬性設置為true
。
spark.sql("SET spark.sql.parser.quotedRegexColumnNames=true").show(false)
設置此屬性后,我們可以使用正則表達式選擇表達式,如下所示。
spark.sql("SELECT `(.*time.*)+.+` FROM test.orders limit 2""").show(false)
注意:此處允許任何有效的Java RegEx。 我已經在Spark 2.3中測試了此解決方案
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.