假设我在 Hive 中有一个表定义如下(实际表有大约 65 列):
CREATE EXTERNAL TABLE S.TEST (
COL1 STRING,
COL2 STRING
)
PARTITIONED BY (extract_date STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\007'
LOCATION 'xxx';
创建表后,当我运行 hive -e "describe s.test"
时,我看到 extract_date
是表中的列之一。执行 select * from s.test
也会返回 extract_date
列值。在 Hive 中运行选择查询时是否可以排除此虚拟(?) 列。
最佳答案
更改此属性
set hive.support.quoted.identifiers=none;
并将查询运行为
SELECT `(extract_date)?+.+` FROM <table_name>;
我测试它工作正常。
关于hadoop - 从 Hive 中的选择查询中排除分区字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31598199/