gpt4 book ai didi

regex - Spark-SQL 是否支持使用正则表达式规范的 Hive Select All Query with except Columns

转载 作者:行者123 更新时间:2023-12-02 03:45:04 24 4
gpt4 key购买 nike

我正在努力实现this functionality使用 SPARK-SQL 使用 pyspark 包装器。我遇到了这个错误

    pyspark.sql.utils.AnalysisException: u"cannot resolve '```(qtr)?+.+```' 
given input columns:

这是我的查询..基本上试图排除“qtr”列。

select `(qtr)?+.+` from project.table; 

使用以下属性在 hive/beeline 中工作得非常好

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 有效的正则表达式。我已经在 Spark 2.3 中测试了这个解决方案

关于regex - Spark-SQL 是否支持使用正则表达式规范的 Hive Select All Query with except Columns,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52526768/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com