![/2021/08/sql-%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E9%80%89%E6%8B%A9%E5%88%97%E5%90%8D/featured-image.jpg /2021/08/sql-%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E9%80%89%E6%8B%A9%E5%88%97%E5%90%8D/featured-image.jpg](/2021/08/sql-%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E9%80%89%E6%8B%A9%E5%88%97%E5%90%8D/featured-image.jpg)
Spark、Hive QL-通过正则表达式选取需要的列
REGEX Column Specification
Contents
【Mark】通过正则表达式选择相应的列
在涉及子查询时,平时习惯直接把需要的列全写出来,也没想太多。
最近有小伙伴谈起正则选择需要的列,一顿操作后做个记录。建模取特征时,常见这种操作
Spark 和 Hive 都是支持这种操作的 只是相应的设置不同
spark/hive | set |
---|---|
hive1 | set hive.support.quoted.identifiers=none |
spark2 | set spark.sql.parser.quotedRegexColumnNames=true |
其中,正则表达式的写法可参考 JAVA regex 语法
例1,查询去除某几列的所有列
select
去除 user_no, cust_no 的所有列
|
|
select
去除以 no 结尾的所有列
|
|
例2,查询符合某特征的所有列
select
以 no 结尾的所有列
|
|