从 Hive 中的 select 查询中排除分区字段

Excluding the partition field from select queries in Hive

假设我在 Hive 中有一个如下的 table 定义(实际的 table 有大约 65 列):

CREATE EXTERNAL TABLE S.TEST (
    COL1 STRING,
    COL2 STRING
)
PARTITIONED BY (extract_date STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '[=11=]7'
LOCATION 'xxx';

创建 table 后,当我 运行 hive -e "describe s.test" 时,我看到 extract_date 是 table 上的列之一。做一个 select * from s.test 也 returns extract_date 列值。在 Hive 中 运行ning select 查询时是否可以排除此 virtual(?) 列。

更改此 属性

 set hive.support.quoted.identifiers=none;

和运行查询为

SELECT `(extract_date)?+.+` FROM <table_name>;

我测试它工作正常。